Учитывая следующую структуру каталогов:
working-directory
subfolder1
file1.wav
file2.wav
file3.wav
subfolder2
file4.wav
file5.wav
file6.wav
subfolder3
file7.wav
file8.wav
file9.wav
jar-that-im-running.jar
Мне нужно получить путь к каждому файлу wav.Я подумал, что, поскольку папка находится в рабочем каталоге и, таким образом, является частью пути к классам (если мое предположение неверно, я просто добавлю рабочий каталог к пути к классам), я могу просто запустить:
String path = ClassLoader.getSystemResource("file1.wav");
или
String path = ClassLoader.getSystemResource("/file1.wav");
, но это не сработает, если я не укажу папку, в которой находится волновой файл. Это было бы хорошо, но я не знаю, в какой папке находится каждый волновой файл;Я знаю только их имена.Я собираюсь обработать все файлы так или иначе, но порядок, который я делаю, зависит от файла конфигурации.Кроме того, я не собираюсь редактировать эти файлы напрямую.Вместо этого я собираюсь передать их в качестве аргументов ProcessBuilder.Поскольку в некоторых каталогах пути могут быть пробелы, которые в URL конвертируются в %20
, я подумал, что могу конвертировать их с path.replaceAll("%20", " ")
.Будет ли мне лучше использовать файлы или есть способ получить определенный wav-файл, не зная его родительской папки.