java.io.StreamCorruptedException:无效的流标题:4D6F7374

时间:2013-05-23 08:24:26

标签: serialization java-io

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:无效的流标题:4D6F7374这个错误请帮帮我

3 个答案:

答案 0 :(得分:4)

An ObjectInputStream deserializes primitive data and objects previously written using an ObjectOutputStream. src/Stringdata.txt可能不是以前使用ObjectOutputStream编写的序列化对象的文件。您可能希望使用InputStreamReader代替

答案 1 :(得分:0)

java.io.StreamCorruptedException: invalid stream header: 4D6F7374 

4D6F7374是“最”。

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

答案 2 :(得分:0)

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

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

方。