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这个错误请帮帮我
答案 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在客户端读取它
确保服务器/客户端套接字使用相同的输入/输出流类型进行读/写。
方。