我有一个将 inputStream 作为条目添加到 zip 的方法:
private void addToZip(InputStream is, String filename) throws Exception {
try {
ZipEntry zipEntry = new ZipEntry(filename);
zos.putNextEntry(zipEntry);
byte[] bytes = new byte[1024];
int length;
while ((length = is.read(bytes)) >= 0) {
zos.write(bytes, 0, length);
}
zos.closeEntry();
} finally {
IOUtils.closeQuietly(is);
}
}
当文件名包含像 áé 这样的 UTF-8 字符时会?????
出现N├бstroje
问题Nástroje
...
对于这个例子,我使用了 jdk6,但现在我也尝试了 jdk7:
zos = new ZipOutputStream(fos, Charset.forName("UTF-8"));
但没有成功。
我还尝试了 Apache Commons Zip 并设置了编码,但也没有成功。
那么如何将文件名中带有 unicode 符号的文件添加到 zip 中?