gpt4 book ai didi

Java ObjectOutputStream 未写入 ZipEntry

转载 作者:太空宇宙 更新时间:2023-11-04 12:54:49 27 4
gpt4 key购买 nike

我正在尝试使用 ObjectOutputStream 将对象序列化为 ZipEntry,但是它似乎没有写入任何内容,因为当我打印生成的字节数组时,它显示为 null。我尝试使用 ZipOutputStream 编写一个字符串,并在打印生成的字节数组时得到了相当大的结果。所以我的问题是:为什么对象输出流没有正确写入 ZipEntry。 (ConfigEntry 确实实现了可序列化)。

  String s = "Tired, Exhausted";
ConfigEntry con = new ConfigEntry("rand", "random", 3);

ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {

ZipOutputStream zos = new ZipOutputStream(baos);
ZipEntry entry = new ZipEntry("test.txt");
ObjectOutputStream obs = new ObjectOutputStream(zos);

zos.putNextEntry(entry);


obs.writeObject(con);
obs.close();
zos.closeEntry();
zos.close();


} catch(IOException ioe) {
ioe.printStackTrace();
}


os = bs.getOutputStream();
byte[] result = baos.toByteArray();
String test = new String(result, "UTF-8");
Log.v("Mac Address", test);
Log.v("Mac Address", Arrays.toString(result));

最佳答案

ByteArrayOutputStream baos = new ByteArrayOutputStream();

这个 baostry block 之后超出了范围。您正在写入一个 baos,并且正在查看在外部作用域中声明的另一个 baos,可能是该类的实例成员。

关于Java ObjectOutputStream 未写入 ZipEntry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35497929/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com