Data d = new Data();
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(new File("test.txt")));
out.writeObject(d);
out.flush();
out.close();ObjectInputStream in = new ObjectInputStream(new FileInputStream(new File("test.txt")));
Data d1 = (Data)in.readObject();
in.close();
我把俩者放在一起执行,先write后read,可以
但是我要是把它们放俩个程序里单独执行,先运行write后运行read,就出错?(EOFException)这是咋回事啊?

解决方案 »

  1.   

    同步和异步问题Thread
    syncronized 网上搜搜
      

  2.   

    如果是楼主只有这几行代码的话,应该没有问题,如果是网络应用的话,抛出EOFException我觉得是正常的
      

  3.   

    应该是你先确保那个write的方法完全结束后在运行read方法
    最好捕捉一下JAVA.IO.EOFexception异常 
      

  4.   

          catch(EOFException e){
                 //只catch,不要处理
          }
      

  5.   

    两个单独运行.分先后次序的的话,
    EOF异常应该是输入流没有read到任何内容吧。。
    强烈要求楼主共享下。
      

  6.   

    参考我的BLOG:http://blog.csdn.net/breezes2008/archive/2009/05/03/4146234.aspx
      

  7.   

    应该没有什么问题的啊。。
    好多东西都是java固化的