2017-09-17 6 views
1

メタデータを取得してmp3ファイルから出力するプログラムを実行しようとすると、「スレッド内の例外」メイン"project.mp3MetaData.mainでのjava.lang.NullPointerException(musicdj.java:18)"。このクラスにはjid3lib jarが必要です。この例外を回避するにはどうしたらいいですか?タグの下に変数を渡す必要がありますか?nullポインタ例外を回避しながらmp3ファイルからメタデータを正常に返す方法

package 1234; 

import java.io.File; 
import java.io.IOException; 

import org.farng.mp3.MP3File; 
import org.farng.mp3.TagException; 
import org.farng.mp3.id3.ID3v1; 

public class mp3MetaData { 

public static void main(String[] args) throws IOException, TagException { 

    // TODO Auto-generated method stub 
    File sourceFile = new  File("/Users/JohnSmith/Desktop/MusicTester/1234.mp3"); 
    MP3File mp3file = new MP3File(sourceFile); 
    ID3v1 tag = mp3file.getID3v1Tag(); 
    System.out.println(tag.getAlbum()); 
    System.out.println(tag.getAlbumTitle()); 
    System.out.println(tag.getTitle()); 
    System.out.println(tag.getComment()); 


} 

} 

ご協力いただければ幸いです。

答えて

1

MP3ファイルにID3タグが含まれていない可能性があります。したがって、使用する前にtagnullであるかどうかを確認してください。このようなもの:

public static void main(String[] args) throws IOException, TagException 
{ 
    File sourceFile = new File("/Users/JohnSmith/Desktop/MusicTester/1234.mp3"); 
    final MP3File mp3file = new MP3File(sourceFile); 
    final ID3v1 tag = mp3file.getID3v1Tag(); 
    if (null == tag) 
    { 
     System.out.println("No ID3 tag found!"); 
    } 
    else 
    { 
     System.out.println(tag.getAlbum()); 
     System.out.println(tag.getAlbumTitle()); 
     System.out.println(tag.getTitle()); 
     System.out.println(tag.getComment()); 
    } 
} 
+0

ありがとう!ファイルにid3タグが含まれていないので、エラーに対処する必要はありません。 –

関連する問題