-4

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

3 回答 3

3

看来您正在运行文件

java CopyFile

如果你这样做,那就错了。您应该传递参数来运行您的代码,因为您正在寻找两个参数。

以这种方式运行代码:-

java CopyFile arg1 arg2
于 2012-07-01T20:53:46.120 回答
3

启动应用程序时,您可能不会在命令行中传递两个参数。

于 2012-07-01T20:47:30.863 回答
2

您不检查 args 是否大于 2:

if (args.length < 2)
{
    // args[1] doesn't exist
    System.out.println("You didn't provide two files.");
    return;
}
于 2012-07-01T20:47:14.630 回答