gpt4 book ai didi

java - ZipEntry UTF-8 字符集

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:50:33 24 4
gpt4 key购买 nike

我正在使用 Java 在主 zip(名称为 finalZip.zip)中创建一些 zip 文件,这些文件名包含 áóç 等字符。当我尝试创建一个 zip 文件时,文件名是错误的。比如3-ORDINÁRIA-2017-05-03.zip时,来3-ORDIN+üRIA-2017-05-03.zip

String zipName= number + "- ORDINÁRIA -" + sdf.format(sdfComplete.parse(date.getTime()) + ".zip";

ByteArrayOutputStream bos = new ByteArrayOutputStream();
ZipOutputStream zip = new ZipOutputStream(bos);
try {
bos = createZipFile(); // populate each zipFile with some images
// generating zip file, ex: 6-ORDINÁRIA-2017-03-15.zip
zipFinal.putNextEntry(new ZipEntry(zipName));
zipFinal.write(bos.toByteArray());
zipFinal.closeEntry();
}

...

我想要带有 UTF-8 字符集的 zip 文件。我该如何解决这个字符集问题?

最佳答案

使用 public ZipOutputStream(OutputStream out, Charset charset) 构造函数指定条目名称和注释的字符集。

方法的 javadoc :

Creates a new ZIP output stream.

Parameters:

out the actual output stream

charset the charset to be used to encode the entry names and comments

例如,这使用 UTF-8 字符集:

ZipOutputStream zip = new ZipOutputStream(bos, java.nio.charset.StandardCharsets.UTF_8);

关于java - ZipEntry UTF-8 字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43767471/

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