java使用反序列化的时候,使用ObjectInputStream.readObject()读取出对象,结果抛出异常

2025-01-06 07:55:59
推荐回答(2个)
回答1:

null其实是二进制0, 你直接写入二进制0到文件末尾就行。读出的时候简单判断读到的字符是不是二进制0,应该就可以了。

回答2:

try {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(buffer);
out.writeObject(null);
out.writeObject(1);
ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(buffer.toByteArray()));
System.out.println(in.readObject());
System.out.println(in.readObject());
} catch (Exception e) {
e.printStackTrace();
}