-1

ファイルを ArrayList にロードしようとしています。ファイルが存在しない場合、プログラムはファイルを作成します。最初のファイルが空であるため、IOException: Null が発生します。そのエラーを回避し、ファイルが空かどうかを確認するにはどうすればよいですか? これが私のコードです:

     File f = new File(fileName);

     try {
        if( !f.exists() ){
            f.createNewFile();
        }

        inputStream = new ObjectInputStream(new FileInputStream(f));
        scores = (ArrayList<Score>) inputStream.readObject();
     } catch (IOException e) {
        System.out.println("IO Error: " + e.getMessage());
     } finally {
         ...
     }
4

2 に答える 2

1

あなたのプログラムには少し再構築が必要なようです。その後、空のファイルをロードしようとしません。

File f = new File(fileName);

     try {
        if( f.length() == 0 ){
            f.createNewFile();
        } else {
            inputStream = new ObjectInputStream(new FileInputStream(f));
            scores = (ArrayList<Score>) inputStream.readObject();
        }
     } catch (IOException e) {
        System.out.println("IO Error: " + e.getMessage());
     } finally {
         ...
于 2013-05-09T11:41:27.823 に答える