Androidでzip4jライブラリを使用してzipfileを生成するときに問題が発生しました。コードは次のとおりです。
try {
ZipFile zipFile = new ZipFile(dest);
zipFile.setFileNameCharset("GBK");
if (srcFile.isDirectory()) {
zipFile.addFolder(srcFile, parameters);
} else {
zipFile.addFile(srcFile, parameters);
}
} catch (Exception e) {
e.printStackTrace();
}
そして私は例外メッセージを受け取りました:
net.lingala.zip4j.exception.ZipException: Probably not a zip file or a corrupted zip file
at net.lingala.zip4j.core.HeaderReader.readEndOfCentralDirectoryRecord(HeaderReader.java:179)
at net.lingala.zip4j.core.HeaderReader.readAllHeaders(HeaderReader.java:78)
at net.lingala.zip4j.core.ZipFile.readZipInfo(ZipFile.java:425)
at net.lingala.zip4j.core.ZipFile.checkZipModel(ZipFile.java:935)
at net.lingala.zip4j.core.ZipFile.addFiles(ZipFile.java:263)
at net.lingala.zip4j.core.ZipFile.addFile(ZipFile.java:250)
Caused by: java.io.IOException: Negative seek offset
at java.io.RandomAccessFile.seek(RandomAccessFile.java:555)
at net.lingala.zip4j.core.HeaderReader.readEndOfCentralDirectoryRecord(HeaderReader.java:117)
このコードは、Eclipse ではローカル ファイルに対して完全に機能しますが、Android ではうまく機能しません。宛先 .zip パスが正しく、zip4j ライブラリのバージョンが 1.3.2 であることは確かです。
誰かが私に何か提案をしてもらえますか?