Вам нужно вызвать вашу программу как что-то вроде
$ java -jar yourApp.jar csvFileName.csv
или, если приложение не упаковано в JAR,
$ java com.yourco.YourMainClass csvFileName.csv
Причина, по которой вы получаете исключение ArrayIndexOutOfBoundsException, заключается в том, что массив args
, передаваемый в метод main, имеет нулевой размер (поэтому не имеет первого элемента). Это происходит, если вы не передаете в программу никаких параметров.
Между прочим, вы, как правило, должны защититься от этого, проверив количество переданных аргументов и напечатав более связное сообщение об ошибке, например:
public static void main(String[] args)
{
// Check mandatory argument(s) passed in
if (args.length < 1)
{
System.err.println("Must supply filename of CSV input as first argument!");
System.exit(1);
}
// rest of method, now you know you args[0] exists...
}