提问人:JCoder 提问时间:3/27/2015 最后编辑:user207421JCoder 更新时间:3/27/2015 访问量:2538
线程“main”java.io.StreamCorruptedException中的异常:无效类型代码:AC [duplicate]
Exception in thread "main" java.io.StreamCorruptedException: invalid type code: AC [duplicate]
问:
只是想读一个数字。我正在实施,我抛出一个错误:Serializable
main()
线程“main”java.io.StreamCorruptedException中的异常:无效的类型代码:AC 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1379) 在 java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 在 Driver.main(Driver.java:28)
代码如下:
try ( ObjectOutputStream output = new ObjectOutputStream(new
FileOutputStream("myFile.dat", true));){
Integer a = 0;
output.writeObject(a);
}
finally{};
try(ObjectInputStream input = new ObjectInputStream(new
FileInputStream("myFile.dat")); ){
Integer newNumber = 0;
newNumber = input.readObject();
++newNumber;
System.out.println("This program has been executed " + newNumber
+ " times.");
input.close();
}
答:
1赞
user207421
3/27/2015
#1
文件为空,或标头后包含的实际数据少于 4 个字节(如果有)。
评论
0赞
user207421
3/27/2015
所以你没有正确编写文件。除非你用 编写它,并且你传递的对象是 ,否则你的读取代码将无法按预期工作。使用和ObjectOutputStream.writeObject()/writeUnshared()
Integer
writeInt()
readInt().
0赞
user207421
3/27/2015
所以你没有按照我说的去做。你不能混合,或者相反。注意:您不能附加到writeInt()
readObject(),
ObjectOutputStream.
0赞
user207421
3/27/2015
什么也没告诉我。堆栈跟踪和完整异常消息始终是必需的。
0赞
user207421
3/27/2015
你仍然没有按照我描述的方式修复它。请再读一遍我在这里写的所有内容。
0赞
JCoder
3/27/2015
让我们在聊天中继续讨论。
评论