2015-09-25 4 views
0

Я создал папку данных рядом с папкой js в ресурсе/статике на бэкэнд моего приложения загрузки весны. Я хочу перечислить его содержимое в выборе для пользователя. Мне удалось перечислить его, если я использую функции File и Path базовой Java. Но мне это не нравится, потому что путь может меняться в разных средах нашей системы. Я могу загрузить файл с помощью org.springframework.core.io.ResourceLoader. Мне нравится это решение лучше, поскольку оно не зависит от пути к файлу моей системы. Но я не нашел способ перечислить файлы в данной папке ресурсов. У вас есть идеи?Листинг ресурсов из папки ресурсов

ответ

0

Наконец я переместил папку данных в WEB-INF. И я могу перечислить содержание его следующий код:

@Autowired 
ServletContext context; 

public Collection<String> getFileList(String path) { 
    Collection<String> result = new ArrayList<String>(); 

    Set<String> paths = context.getResourcePaths(path); 
    for (String p : paths) { 
     String[] parts = p.split("/"); 
     result.add(parts[parts.length-1]); 
    } 
    return result; 
} 

И я зову его со следующим параметром:

getFileList("/WEB-INF/data"); 

Этим решение работает, если папка WEB-INF распаковывается во время развертывания , А также работает, когда папка данных остается в военном архиве.

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