我正在尝试解压缩其中包含德语字符的文件夹,例如 Aufhänge 。我知道在 Java 7 中,它默认使用 utf-8,我认为“ä”是 utf-8 字符之一。这是我的代码片段
public static void main(String[] args) throws IOException {
ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(ZIP_PATH), StandardCharsets.UTF_8);
ZipEntry zipEntry;
while ((zipEntry = zipInputStream.getNextEntry()) != null) {
System.out.println(zipEntry.getName());
}
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:java.lang.IllegalArgumentException: MALFORMED
它适用于 Charset.forName("Cp437"),但不适用于 StandardCharsets.UTF_8