Выбор всех .mp3 файлов из папки
Имеется метод который позволяет выбрать путь (localpath) до папки с музыкой, однако, если пытаюсь вставить localpath в directory = new File(localpath); выдаёт ошибки:
java.lang.reflect.InvocationTargetException
java.lang.RuntimeException
java.lang.NullPointerException
Необходимо сделать так, чтобы пользователь указывал путь до папки с музыкой, в Initialize передавался путь и программа собирала все треки, а затем воспроизводила их.
public void getPath() {
try {
Stage stage = (Stage) pane.getScene().getWindow();
DirectoryChooser directoryChooser = new DirectoryChooser();
directoryChooser.setInitialDirectory(new File("music"));
File selectedDirectory = directoryChooser.showDialog(stage);
localpath = selectedDirectory.getAbsolutePath();
System.out.println(localpath);
currentPath.setText("Current path: " + localpath);
} catch(java.lang.RuntimeException exc) {showAlert();}
}
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
songs = new ArrayList<File>();
directory = new File("music");
files = directory.listFiles();
if (files != null) {
for (File file : files) {
songs.add(file);
}
}
media = new Media(songs.get(songNumber).toURI().toString());
mediaPlayer = new MediaPlayer(media);
Ответы (1 шт):
Автор решения: Вадим
→ Ссылка
Можно воспользоваться apache commons
File directory = new File("music");
files = (List<File>) FileUtils.listFiles(directory , {"mp3","wav"}, true)