-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

アプリケーションを起動するときに、コマンドラインで2つの引数を渡さない可能性があります。

于 2012-07-01T20:47:30.863 に答える
3

次のようにファイルを実行しているようです

java CopyFile

そうするなら、それは間違っています。2つの引数を探しているので、コードを実行するには引数を渡す必要があります。

次のようにコードを実行します:-

java CopyFile arg1 arg2
于 2012-07-01T20:53:46.120 に答える
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 に答える