gpt4 book ai didi

java - ZipEntry 到字节数组

转载 作者:行者123 更新时间:2023-12-01 21:22:55 27 4
gpt4 key购买 nike

我试图将 ZipEntry 对象序列化为字节数组,但我知道这是不可能的。

这就是我正在做的事情:

ZipEntry entryToDocumentum = null;
for (ZipEntry oneEntry : entries) { //entries is a ZipEntry arraylist
if (oneEntry.getName().equals(details.getId()+"_"+details.getCodEntidade()+"_"+details.getNrDocumento()+".pdf")) {
entryToDocumentum = oneEntry;

}
}
byte[] entryBytes = serializeEntry(entryToDocumentum);

serializeEntry方法:

private static byte[] serializeEntry(Object obj) throws IOException {
ByteArrayOutputStream b = new ByteArrayOutputStream();
ObjectOutputStream o = new ObjectOutputStream(b);
o.writeObject(obj); //here is where I get the NotSerializable exception
return b.toByteArray();
}

如果 ZipEntry 不可序列化,如何将 ZipEntry 转换为字节数组?

最佳答案

ZipEntry 未实现Serializable。但这没关系,因为实际上没有人有理由序列化 ZipEntry 的实例。

您几乎肯定需要 ZipEntry 引用的项目的字节。 ZipEntry 类包含有关 ZipFile 中文件的元数据。要获取该文件的内容,请使用

InputStream ZipFile.getInputStream(ZipEntry)

您可以包装返回的输入流,以对您的应用程序有意义的任何正常方式检索数据,并从那里读取数据。例如,参见this question用于转换为字节数组。

关于java - ZipEntry 到字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38855306/

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