Доступ к папкам вне рабочей области - PullRequest
0 голосов
/ 02 декабря 2018

Я долго искал ответ на этот вопрос, но безуспешно.Я пытаюсь загрузить CSV-файлы в свою программу, чтобы работать с ними позже, и у меня возникла следующая проблема.Когда я пытаюсь получить к ним доступ непосредственно из того места, где они хранятся на моем компьютере, используя абсолютный путь:

File folder = new File("C:/Users/trybu/Desktop/AppData");

    File[] listOfFiles = folder.listFiles();

    int filesNo = listOfFiles.length; //and so

, он работает только в том случае, если я скопирую все эти файлы в рабочую область своего проекта (я использую Eclipse).Но когда я изменяю имя пути или перемещаю файлы (внутри проекта) в другой каталог, файлы больше не будут читаться.Я нахожу это действительно странным.Может ли кто-нибудь объяснить мне это и, возможно, помочь мне найти решение?Спасибо!

1 Ответ

0 голосов
/ 02 декабря 2018

Прежде всего вам нужно использовать правильный путь, в вашем коде он выглядит как комбинация форматов Windows и Unix, но я не эксперт в форматах путей Windows

Еще лучше при обработке путей и стандартныхпапки, такие как домашняя папка пользователя, вы можете использовать системное свойство, чтобы получить этот путь.В приведенном ниже коде перечислены все файлы и папки на рабочем столе пользователей

String homeDir = System.getProperty("user.home");

File desktop = new File(homeDir, "Desktop");

File[] fileList = desktop.listFiles();

for (File file : fileList) {
    System.out.println(file.getName());
}

. Он был написан и протестирован на Mac, но одинаково хорошо работает на Windows.Дополнительная информация о системном свойстве здесь

...