Как вы перечисляете все файлы в папке ресурсов (Java / Scala) - PullRequest
0 голосов
/ 22 мая 2018

Я пишу функцию, которая должна получить доступ к папке в ресурсах и просмотреть все имена файлов, и, если они соответствуют критериям, эти файлы загружаются.

new File(getClass.getResource("/images/sprites").getPath).listFiles()

возвращает исключение нулевого указателя, когда дерево каталогов следует за Ресурсы -> картинки -> спрайты ->

Пожалуйста, кто-нибудь может указать мне правильное направление?

1 Ответ

0 голосов
/ 22 мая 2018

Файловая система zip, использующая jar:file: URI, будет выглядеть примерно так:

    URI uri = MainApp.class.getResource("/images/sprites").toURI();
    Map<String, String> env = new HashMap<>();
    try (FileSystem zipfs = FileSystems.newFileSystem(uri, env)) {
        //Path path = zipfs.getPath("/images/icons16");
        for (Path path : zipfs.getRootDirectories()) {
            Files.list(path.resolve("/images/sprites"))
                    .forEach(p -> System.out.println("* " + p));
        }
    }

Здесь я показываю getRootDirectories для возможного перебора всех ресурсов.

Использование Files.copy можно копировать их и так далее.

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