2017-08-05 33 views
0

当我使用这个shipet:ObjectInputStream的无效流头

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,但我不明白这种行为的原因。

回答

2

您无法使用ObjectInputStream读取文本文件。您只能写入使用ObjectOutputStream创建的数据,或者使用相同格式协议的其他设备。

相关问题