为什么我的代码中出现了ArrayIndexOutOfBoundsException?

时间:2012-07-01 20:45:08

标签: java

为什么我在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*/
            }
        }
}

3 个答案:

答案 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;
}