Как найти папку «Документы» пользователя с Java в OS X? - PullRequest
7 голосов
/ 20 февраля 2009

Я бы хотел создать каталог в папке «Документы» пользователя, но пока я только узнал, как получить домашний каталог пользователя:

javax.swing.JFileChooser fr = new javax.swing.JFileChooser();
javax.swing.filechooser.FileSystemView fw = fr.getFileSystemView();
this.userDirectory = fw.getDefaultDirectory();

В Windows приведенный выше код возвращает каталог «Мои документы», и это здорово, именно там должны идти новые документы. На OS X это только возвращает домашний каталог.

Добавление 'Documents' к возвращаемому пути может вызвать проблемы с локализацией.

Как я могу это сделать?

Ответы [ 3 ]

9 голосов
/ 20 февраля 2009

Вы хотите использовать расширение Apple eio.FileManager:

    static public String documentsDirectory()
            throws java.io.FileNotFoundException {
        // From CarbonCore/Folders.h
        final String kDocumentsDirectory = "docs";
        return com.apple.eio.FileManager.findFolder(
            com.apple.eio.FileManager.kUserDomain,
            com.apple.eio.FileManager.OSTypeToInt(kDocumentsDirectory)
        );
    }

Документация

8 голосов
/ 20 февраля 2009

System.getProperty ( "user.home") + File.separator + "Документы";

И не беспокойтесь о локализации, посмотрите:

macb:Documents laullon$ pwd
/Users/laullon/Documents

Моя OS X на испанском языке.

0 голосов
/ 20 февраля 2009

На Mac (насколько я знаю все последние версии 10.x) каталог «Мои документы» находится в (от корня):
/ Users / <имя пользователя> / Documents
Таким образом, он находится в подкаталоге «Documents» в домашнем каталоге для пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...