ファイル入力ストリームを使用してMP3ファイルを読み込むこのプログラムを作成しています。私の問題のインターネットで検索した後、ここに示すように、配列と関係がありますが、私はJavaの初心者であるため、この問題の修正方法はわかりません: File song = new File(arguments [ 0]);Java MP3ファイルストリームは引数を渡すことができません
私は、このエラーに遭遇:スレッド "メイン" java.lang.ArrayIndexOutOfBoundsExceptionで
例外:0 com.java24hours.ID3Reader.mainで (ID3Reader.java:11)
はこちら私のコード:
package com.java24hours;
import java.io.*;
public class ID3Reader {
private static String[] arguments;
public static void main(String[] arguments) {
File song = new File(arguments[0]);
try (FileInputStream file = new FileInputStream(song)) {
int size = (int) song.length();
file.skip(size - 128);
byte [] last128 = new byte[128];
file.read(last128);
String id3 = new String(last128);
String tag = id3.substring(0, 3);
if(tag.equals("TAG")) {
System.out.println("Title: " + id3.substring(3, 32));
System.out.println("Artist: " + id3.substring(33, 62));
System.out.println("Album: " + id3.substring(63, 91));
System.out.println("Year: " + id3.substring(93, 97));
} else {
System.out.println(arguments[0] + " does not contain " +
" ID3 info.");
}
file.close();
} catch (IOException ioe) {
System.out.println("Error -- " + ioe.toString());
}
}
}
誰でもこのことを教えてもらえますか?ありがとうございました!
あなたの書式設定は少しオフです...コード内のどの行が11行目ですか? – Ben
このコードはどのように実行していますか?あなたは入力としてファイル名を渡しましたか? – faboolous
Derp、yep、arguments [0]は存在しないため、逆参照しようとすると失敗します。 'if(arguments.length == 0){ throw new Exception("引数が指定されていません ");次のようなチェックを追加する必要があります。 } ' – Ben