为什么在java中读取datainputstream时会出现EOF异常?

时间:2013-10-10 02:53:55

标签: java

以下是我想要阅读的内容:

   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异常,请帮忙!

1 个答案:

答案 0 :(得分:0)

EOFException表示你试图读过流的末尾,这可能是因为你正在读取一个字节然后扔掉它,这已经是一个错误了,因为它让你不同步发件人。将循环测试更改为while (true),捕获EOFException,并在获得它时关闭套接字并打开循环。