-2

Java代码是

        ObjectInputStream ois=new ObjectInputStream(new FileInputStream("src/Stringdata.txt"));    
        String s=(String)ois.readObject();
        System.out.println(s.toString());

        } catch (IOException e) {

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

            e.printStackTrace();
        }

这里出现 java.io.StreamCorruptedException: invalid stream header: 4D6F7374 这个错误请帮帮我

4

3 回答 3

4

ObjectInputStream 反序列化以前使用 ObjectOutputStream 编写的原始数据和对象。 src/Stringdata.txt可能不是以前使用 ObjectOutputStream 编写的序列化对象文件。您可能想InputStreamReader改用

于 2013-05-23T08:31:50.300 回答
0
java.io.StreamCorruptedException: invalid stream header: 4D6F7374 

4D6F7374 是“大多数”。

这不是序列化对象的文件。它是一个文本文件。阅读它BufferedReader.readLine()

于 2013-05-24T01:10:17.427 回答
0

您的问题是:服务器使用 DataOutputStream/DataInputStream 发送/接收数据,而您正尝试使用 ObjectOutputStream/ObjectInputStream 在客户端读取它

只需确保服务器/客户端套接字使用相同的输入/输出流类型进行读/写。

哈利勒。

于 2013-07-25T01:39:21.143 回答