Это метод:
public void createMp3Array() throws InvalidDataException, IOException, UnsupportedTagException {
MusicFile song;
String trackName;
String artistName;
String albumInfo = "";
String genre = "";
byte[] musicFileExtract;
Mp3File mp3file;
for (final File f : music.listFiles()) {
ID3v1 tag;
mp3file = new Mp3File(f.getAbsolutePath());
tag = mp3file.getId3v1Tag();
System.out.println(f.getAbsolutePath() + " " + tag);
trackName = tag.getTitle();
artistName = tag.getArtist();
/*albumInfo = tag.getAlbum();
System.out.println("info " + albumInfo);
genre = tag.getGenre() + " (" + id3v1Tag.getGenreDescription() + ")";
System.out.println("genre " + genre);*/
song = new MusicFile(trackName,artistName,albumInfo,genre);
songs.add(song);
System.out.println("wtf");
}
}
Строка trackName = tag.getTitle (); возвращает мне NullPointerException каждый раз, кроме одного. Все работает правильно для первого mp3-файла, который я пробовал, и не может работать для любого другого.
Редактировать: Я отправил это случайно, не заканчивая редактировать мой вопрос извините. Контекст заключается в том, что я должен прочитать папку mp3 и сохранить их данные в массиве экземпляров MusicFile. Есть два потока, читающие две отдельные папки - я не знаю, имеет ли это какое-либо отношение к этому -. Это ошибка: Исключение в потоке "Thread-0" java .lang.NullPointerException