我正在尝试打开 ZipFile 以迭代其条目、修改条目并将内容写入 ZipOutputStream。
下面是执行此操作的代码(简化为仅显示有问题的部分)
val filePath = fileAsset.file.absolutePath
val zipFile = withContext(Dispatchers.IO) {
ZipFile(filePath)
}
val zos = ZipOutputStream(withContext(Dispatchers.IO) {
FileOutputStream(filePath)
});
val e = zipFile.entries()
while (e.hasMoreElements()){
val entryIn = e.nextElement();
}
但这给了我以下错误
Fatal signal 7 (SIGBUS), code 2 (BUS_ADRERR), fault addr 0x75087e3fe43f in tid 10770 (DefaultDispatch), pid 10144 (ple.ebookreader)
,应用程序崩溃了。
还有:
Zip 文件可以作为普通
File
对象读取。构建时出现问题 ZipFile
当我打电话给
e.nextElement()
之前,一切都很好。
到目前为止,我已经尝试使用
zipFile.stream
,将entries
转换为List
,但我找不到问题。
您能告诉我为什么会出现此错误以及如何修复它吗?
我明白了,
问题是我正在使用相同的路径创建
ZipFile
和ZipOutputStream
我用字节数组创建了
ZipOutputStream
,崩溃已经停止发生。
val bytesStream = ByteArrayOutputStream()
val zos = ZipOutputStream(bytesStream);