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 control.serialControl.save_record_db1(serialControl.java:3630)
at control.SerialServer.saveRecordActionPerformed(SerialServer.java:836)
at control.SerialServer$8.actionPerformed(SerialServer.java:142)
at java.awt.Button.processActionEvent(Unknown Source)
at java.awt.Button.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
问下这个错误是什么引起的

解决方案 »

  1.   

    http://bbs.tarena.com.cn/viewthread.php?tid=86199看看这篇帖子, 可能会对你有帮助
      

  2.   

    可能是你读取的资源没有以EOF(end of file)符号结尾EOFException 继承自IOException 
    给出一个在输入过程中意外地到达文件尾或流尾的信号。 这个异常主要用在数据输入流,它一般期望一个指定格式的二进制文件,并且对它来说该流结束是一个非寻常情况。
    大部分其它输入流在流结束时返回一个指定值。 
      

  3.   

    End Of File估计是你读到了文件结尾还在读  结果Java被你雷到了  然后报了这个错...
      

  4.   

    我都还没读就到文件尾了!!
    inputFromServlet = new ObjectInputStream(servletConnection.getInputStream());
      

  5.   

    整个方法贴出来大家帮我看看!
    public void save_record_db1() {
    _file = cf.getpath("") + "/log/" + df.format(new Date())
    + ".log";
    String result = "";
    String hostName = "172.16.31.88";
    int port = 8080;
    String servletPath = "/depot/GeneralHandleSvt?reqType=utility.UtilActionHandler.save_record";
    String webServerStr = "http://" + hostName + ":" + port
    + servletPath;
    System.out.println("web str is " + webServerStr);
    String servletGET = webServerStr; 
    // + "&"
    // + URLEncoder.encode("backdoor") + "="
    // + URLEncoder.encode("qJdBlE"); ObjectInputStream inputFromServlet = null; try {

    System.out.println("Connecting...");
    URL DBservlet = new URL(servletGET);
    HttpURLConnection servletConnection =(HttpURLConnection) DBservlet.openConnection();
    //servletConnection.connect();
    System.out.println("Connected"); //servletConnection.setDoInput(true);
    servletConnection.setDoOutput(true);
    servletConnection.setUseCaches(false);
    servletConnection.setRequestProperty("Content-Type",
    "application/octet-stream");
    ObjectOutputStream outputToServlet = null;
    System.out.println("Sending the maintainv to the servlet...");
    outputToServlet = new ObjectOutputStream(servletConnection
    .getOutputStream());
    outputToServlet.writeObject(iw.getAllLine(_file));
    outputToServlet.flush();
    outputToServlet.close();
    System.out.println("Complete.");
    System.out.println("Refreshing the list"); System.out.println("Getting input stream");
    //System.out.println(servletConnection.getHeaderField(2)+"######");
    inputFromServlet = new ObjectInputStream(servletConnection.getInputStream());
    inputFromServlet.close();
    }

    catch (Exception e) {
    e.printStackTrace();
    }