2010-10-06 70 views
2

如果我用帶有一些帶有變音符號的文件(例如1-2GF-969 ##JÖN.pdf)的zip文件運行下面的程序,我會得到IllegalArgumentException。ZipInputStream拋出Illegalargument異常的地址

我的應用程序必須支持所有語言。因此,我們將編碼設置爲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(); 
     } 
    } 
+0

請更新您的問題以包含完整的堆棧跟蹤。 – BalusC 2010-10-06 04:42:51

回答

1

很可能您嘗試使用的ZIP壓縮文件不使用UTF-8編碼。本文應該有所幫助:http://commons.apache.org/compress/zip.html

+0

嗨,這適用於Apache Commons壓縮和Winzip - 最新版本 - 14.5。我試用了WinZIP的評估版。我們只有Winzip 9的許可證。所以,我試圖找到一些替代解決方案。如果您知道,請提供幫助。 – Meghaladevi 2010-10-11 09:09:28