为什么我在CopyFile.main上收到java.lang.ArrayIndexOutOfBoundsException:0
//Copy one file Data to another File
import java.io.*;
class CopyFile{
public static void main(String[] args)throws IOException{
FileInputStream fis=new FileInputStream(args[0]);//reading File
FileOutputStream fos=new FileOutputStream(args[1]);//reading File
int data;
while((data=fis.read())!=-1){
fos.write(data);
/*here using while loop to copy data from one file and storing it in another file*/
}
}
}
答案 0 :(得分:3)
启动应用程序时,您可能不会在命令行中传递两个参数。
答案 1 :(得分:3)
您似乎正在将文件作为
运行java CopyFile
如果你这样做,那就错了。你应该传递参数来运行你的代码,因为你正在寻找两个参数。
以这种方式运行代码: -
java CopyFile arg1 arg2
答案 2 :(得分:2)
你没有检查args是否大于2:
if (args.length < 2)
{
// args[1] doesn't exist
System.out.println("You didn't provide two files.");
return;
}