So I'm creating this program that reads an MP3 file using a file input stream. After doing a lookup on the internet of my issue, it has to do with the array as shown here, however, I do not know how to fix this issue because I am a beginner in Java: File song = new File(arguments[0]);
I then come across this error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at com.java24hours.ID3Reader.main(ID3Reader.java:11)
Here is my code:
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());
}
}
}
Can anyone help me on this? Thank you!