2

如果我使用包含一些带有变音符号的文件(例如 1-2GF-969##JÖN.pdf)的 zip 文件运行以下程序,我会得到 IllegalArgumentException。

我的应用程序必须支持所有语言。因此,我们将编码设置为 UTF-8

所有语言都可以正常工作。但是在阅读变音符号时问题就来了。

我尝试使用 zip 输入流的替代方法,例如 arcmexer,但它不支持中文字符。

请帮我解决一下这个。

  private static void readUsingJava() {
        ZipInputStream zis;
        try {
              zis = new ZipInputStream(new FileInputStream("C:\\Check.zip"));
              ZipEntry ze;
              while ((ze = zis.getNextEntry()) != null) {
                    System.out.println("Name of the File Is  :: " + ze.getName());
              }
              zis.close();
        } catch (FileNotFoundException e) {
              e.printStackTrace();
        } catch (IOException e) {
              e.printStackTrace();
        }
  }
4

1 回答 1

1

您尝试使用的 ZIP 档案很可能不使用 UTF-8 编码。这篇文章应该有帮助:http ://commons.apache.org/compress/zip.html

于 2010-10-11T09:18:59.407 回答