2

以下のプログラムを zip ファイルで実行すると、分音記号を含むファイル (例: 1-2GF-969##JÖN.pdf) が含まれていると、IllegalArgumentException が発生します。

私のアプリケーションはすべての言語をサポートする必要があります。そのため、エンコーディングを UTF-8 に設定します。

すべての言語が正常に動作します。しかし、分音記号を読むときに問題が発生します。

arcmexer などの zip 入力ストリームの代替手段を使用してみましたが、漢字はサポートされていません。

これで私を助けてください。

  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 に答える