A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© che201311 中级黑马   /  2013-11-22 23:37  /  1403 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我在运行程序时,出现如下错误提示,请问如何解决?谢谢!

java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at com.bj.client.Client.read(Client.java:118)
at com.bj.client.Client.send(Client.java:92)
at com.bj.client.view.UserView.login(UserView.java:76)
at com.bj.client.view.UserView.start(UserView.java:39)
at com.bj.client.view.StartMain.main(StartMain.java:13)

相关代码如下,read()方法是将对象流中的内容读入出,并封装到Command实例中,其中错误是在第8行产生的“in=new ObjectInputStream(client.getInputStream());”,client是Socket实例。

Java code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public Command<?> read()
{
     Command<?> cmd=null;
     ObjectInputStream in = null;
      
     try {
         
        in=new ObjectInputStream(client.getInputStream());
        cmd=(Command<?>)in.readObject();
        return cmd;
         }
         catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
         }
         catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
          }
          finally
          {
            if(in!=null)
              {
                 try {
                    in.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
              }
          }
         
}

1 个回复

倒序浏览
问题不在这段代码,请提供更多内容,不然没法测试。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马