2015-11-18 5 views
3

Есть ли способ использовать ResourceLoader, чтобы получить список «вспомогательных ресурсов» в каталоге в банке?Как получить все файлы в каталоге в пути к классам

Например, данные источники

src/main/resources/mydir/myfile1.txt 
src/main/resources/mydir/myfile2.txt 

и использование

@Autowired 
private ResourceLoader resourceLoader; 

я могу получить в каталог

Resource dir = resourceLoader.getResource("classpath:mydir") 
dir.exists() // true 

но не файлы внутри директории. Если бы я мог получить файл, я мог бы назвать dir.getFile().listFiles(), но

dir.getFile() // explodes with FileNotFoundException 

Но я не могу найти способ, чтобы получить «ребенок» ресурсы.

ответ

6

Вы можете использовать ResourcePatternResolver, чтобы получить все ресурсы, соответствующие определенному шаблону. Например:

Resource[] resources = resourcePatternResolver.getResources("/mydir/*.txt") 

Вы можете иметь ResourcePatternResolver впрыскивается таким же образом, как ResourceLoader.

+1

ОК, но я не знаю, что я найду там. Возможно, ''/mydir/* "' с вашим кодом. Я закончил тем, что начал работать с «PathMatchingResourcePatternResolver» – Bohemian

+0

Что это пакет для ресурсов? Я не мог найти класс с таким именем, которое является частью Spring. – user1567291

+0

Извините, это была опечатка в ответе. Я исправил это сейчас. –

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

  • Нет связанных вопросов^_^