0

これが私が読もうとしているものです:

   FileInputStream fis=new FileInputStream("count.txt");
   BufferedInputStream bis=new BufferedInputStream(fis);
   DataInputStream dis=new DataInputStream(bis);
   while(dis.read()!=-1)
   {
    orderCount=dis.readInt();
    newOrderCount=dis.readInt();
   }

Count.txt には 0 0 0 0 0 0 0 1 のようなデータがありますが、何らかの理由で EOF 例外が発生します。助けてください!

4

1 に答える 1

0

EOFExceptionストリームの終わりを過ぎて読み取ろうとしたことを意味します。これはおそらく、バイトを読み取ってから破棄したために発生しました。これは、送信者との同期が取れなくなるため、すでにバグです。ループ テストをwhile (true)、 catchEOFExceptionに変更し、取得したらソケットを閉じてループから抜け出します。

于 2013-10-10T03:35:03.037 に答える