当我使用这个shipet时:
InputStream fs=new FileInputStream("some_file.txt");
ObjectInputStream is=new ObjectInputStream(fs);
Java 显示错误:
>java.io.StreamCorruptedException: invalid stream header: 3130300A
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:857)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:349)
FileInputStream
工作正常。 DataInputStream
也可以工作。
该代码在main方法中运行,没有任何其他代码。我使用了另一个文件,例如pom.xml,错误仍然如此。
我可以使用DataInputStream
代替ObjectInputStream
,但我不明白这种行为的原因。
最佳答案
您无法使用 ObjectInputStream 读取文本文件。您只能写入使用 ObjectOutputStream 或遵循相同格式协议(protocol)的其他设备创建的数据。
关于java - ObjectInputStream 无效的流 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45524541/