Я хотел бы разрешить пользователям моей программы открывать файлы только из определенного каталога в папке проекта. В Stack Overflow я часто нахожу следующее решение: chooser.setInitialDirectory(new File(System.getProperty("user.home"));
, но я пытаюсь ссылаться на папку ресурсов в проекте. Я пытался использовать fileChooser.setInitialDirectory(new File("/resources/"));
, но получаю java.lang.IllegalArgumentException: Folder parameter must be a valid folder
. Как я могу исправить эту проблему?Установить начальную директорию JavaFX FileChooser
1
A
ответ
1
Папка resources
, и в основном все, что входит в состав развернутого приложения, не может быть доступно для записи или просмотра во время выполнения. По сути, при развертывании приложения все, что вам нужно для запуска приложения, вставляется в файл архива, поэтому resources
на самом деле не является папкой, это запись в архив. Вы не можете писать или просматривать такие местоположения.
Если вы хотите, чтобы пользователь мог сохранять файлы в определенном месте, вы должны определить такое местоположение: обычно вы должны сделать это подкаталогом домашнего каталога пользователя. Так, например, вы можете:
File recordsDir = new File(System.getProperty("user.home"), ".myApplicationName/records");
if (! recordsDir.exists()) {
recordsDir.mkdirs();
}
// ...
FileChooser chooser = new FileChooser();
chooser.setInitialDirectory(recordsDir);
Смежные вопросы
- 1. Ограничить JavaFX FileChooser до начальной папки
- 2. JavaFX FileChooser
- 3. Установить значок приложения для FileChooser в javaFX
- 4. JavaFX FileChooser исключает расширения
- 5. JavaFx FileChooser без этапа
- 6. Начальный каталог JavaFX FileChooser
- 7. Сделать filechooser работу JavaFX
- 8. JavaFX FileChooser in swing
- 9. Как локализовать диалог JavaFX FileChooser?
- 10. FileChooser в JavaFX дает NullPointerException
- 11. Почему FileDialog иногда не запоминает начальную директорию?
- 12. Изменить начальную директорию в windows powershell
- 13. Как установить путь сохранения файла, выбранного в filechooser JavaFX
- 14. Метод FileChooser showSaveDialog() не сохраняет файл javafx?
- 15. Открыть изображение из FileChooser в JavaFX
- 16. Как извлечь путь объекта из FileChooser JavaFX
- 17. JavaFX FileChooser Filefilter не возвращает расширение
- 18. TornadoFX filechooser
- 19. Установить начальную ориентацию экрана
- 20. Установить начальную высоту CollapsingToolbarLayout
- 21. FileChooser диалог действия ошибки
- 22. Как установить часовую директорию? django
- 23. Как получить путь к файлу из JavaFX FileChooser?
- 24. Как установить начальную точку гистограммы
- 25. Как установить только начальную активность
- 26. Как установить начальную позицию UIWebView?
- 27. SeekBar - Невозможно установить начальную точку
- 28. Как установить начальную ориентацию интерфейса?
- 29. Как установить фильтр через класс FileChooser?
- 30. Удаление файла (ов) через FileChooser?
Папка 'resources' обычно не является частью развернутого приложения. При развертывании приложения ресурсы будут вложены в файл jar. Вы не можете использовать выбор файла для просмотра содержимого этого файла. –
Хорошо, но как я могу просматривать содержимое другой папки, входящей в состав развернутого приложения? – lilmessi42
Можете ли вы более подробно объяснить, что вы пытаетесь сделать? Вы используете браузер файлов, чтобы позволить пользователю просматривать файловую систему; Дело в том, что содержимое файловой системы неизвестно при создании приложения. Доступные ресурсы известны при компиляции и создании приложения. Поэтому обычно вы не просматриваете ресурсы; ресурсы выбираются в зависимости от состояния приложения. Таким образом, пользователь делает вещи в пользовательском интерфейсе, которые изменяют состояние приложения, и ваш код выбирает из предопределенного набора ресурсов на основе этого состояния. –