Как правильно указать путь для открытия файла из подкаталога моего проекта? - PullRequest
0 голосов
/ 19 мая 2019

У меня есть такая структура проекта

- * ЦСИ 1003 *

-------------- ресурсы

-------------- сохраняет

Я использую эту подпапку несколько раз, например:

 File tempFile = new File("src/saves/" + videoName + ".json");

или иногда так:

ImageView icon = new ImageView("resources/edit.png");

и:

File f = new File("src/resources/zelda.mp4");

По некоторым причинам это работает для icon, но не для видео / файла, когда я пытаюсь получить эту ошибку:

Caused by: MediaException: MEDIA_UNAVAILABLE : C:\Users\histackoverflow\IdeaProjects\project2\resources\zelda.mp4 (specified path can't be found)

поэтому я хочу знать, что не так в моем пути использования пути?

1 Ответ

0 голосов
/ 19 мая 2019

@ Edit: это прекрасно работает для ссылок на файлы в IDE. Для получения соответствующих ссылок на файлы в jar, выполните следующие действия: Файл Java Jar: используйте ошибки ресурса: URI не является иерархическим

Я бы не рекомендовал вводить путь в виде строки. Лучший способ загрузки файлов - поместить их в источники (вы уже сделали это) и вызвать ресурс по ссылке на класс и получить из него URI:

    InputStream file = new FileInputStream(getClass().getResource("/edit.png").getPath());
    Image image = new Image(file);
    ImageView icon = new ImageView(image);


    File f = new File(getClass().getResource("/zelda.mp4").toURI());

Убедитесь, что ваш каталог с ресурсами помечен как каталог ресурсов.

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