2016-04-14 5 views
3

Привет всем Я не могу понять, с этой проблемой: эта строка кода должна работатьПолучить папку из папки ресурсов JAVA

File[] file = (new File(getClass().getResource("resources/images_resultats"))).listFiles(); 

Я хочу список файлов, эти файлы находятся в разделе «images_resultats» в разделе " Ресурсы".

Project image

+0

Ресурсы не являются файлами, в большинстве случаев они являются записями в zip-контейнере (файле jar) и не могут быть доступны или обрабатываться как файлы. Очень сложно перечислить содержимое неизвестного файла jar таким образом – MadProgrammer

+0

[Например] (http://stackoverflow.com/questions/18758105/how-can-i-count-the-number-of-files- in-a-folder-in-a-jar/18758724 # 18758724), второе решение предполагает использование «известного» файла/ресурса, который содержит список имен ресурсов, которые могут быть сгенерированы во время сборки – MadProgrammer

+0

Если каталог не включается в банку, вы должны иметь возможность использовать относительный путь напрямую. – MadProgrammer

ответ

3

Это не будет работать, если resources/images_resultats не в вашем пути к классам и/или если он находится в файле JAR.

Ваш код даже не исправить это должно что-то вроде:

File[] file = (new File(getClass().getResource("/my/path").toURI())).listFiles(); 
+0

Если это файл jar, он не будет работать вообще – MadProgrammer

+0

, это правильно, я изменяю свой ответ затем –

+0

, поэтому у меня должна быть папка, содержащая три папки 'images_resultats' и т. д. ... и' .jar' –

-1

Если предположить, что папка ресурсов находится в пути к классам, это может работать.

String folder = getClass().getResource("images_resultats").getFile(); 
    File[] test = new File(folder).listFiles(); 
+1

он возвращает 'java.lang.NullPointerException' ->' String folder = getClass(). getResource ("images_resultats"). getFile(); ' –

Смежные вопросы