【问题标题】:ZipInputStream Throws Illegalargument exception for diacriticsZipInputStream 为变音符号抛出 Illegalargument 异常
【发布时间】:2011-04-21 15:18:02
【问题描述】:

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

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

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

我尝试使用压缩输入流的替代方法,例如 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();
        }
  }

【问题讨论】:

  • 请更新您的问题以包含完整的堆栈跟踪。

标签: java zip zipinputstream


【解决方案1】:

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

【讨论】:

  • 嗨,这适用于 Apache commons compress 和 Winzip - 最新版本 - 14.5。我尝试使用 WinZIP 的评估版。我们只有 Winzip 9 的许可证。所以,我试图找到一些替代解决方案。如果您知道,请提供帮助。
猜你喜欢
  • 1970-01-01
  • 2016-04-06
  • 1970-01-01
  • 1970-01-01
  • 2013-05-24
  • 1970-01-01
  • 1970-01-01
  • 2020-01-28
  • 2013-05-03
相关资源
最近更新 更多