ZipEntry
aに aを追加しよZipOutputStream
うとしていますが、バイトを書き込もうとすると問題が発生します。
ファイル名を にマップするZipEntry
からを取得しました。この方法を選択したのは、大きな を扱っていて、をループしてファイルを探して取得するよりも簡単にその内容にアクセスできるようにしたいからです。HashMap
ZipEntries
ZipInputStream
InputStream
ZipEntry
これにより、エントリを追加した後にバイトを書き込もうとすると問題が発生します。これまでに見つけたすべてのソリューションには、ZipInputStream
.
コードは次のとおりです。
ZipEntry ze = entryHash.get(pathToString(path));
zos.putNextEntry(ze);
zos.write(new byte[(int)ze.getSize()]); // Problem Here
zos.closeEntry();
私が得ているエラーは次のとおりです。
java.util.zip.ZipException: invalid entry compressed size (expected 389 but got 12 bytes)
at java.util.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:248)
この例外を修正するにはどうすればよいですか?