2010-10-06 5 views
2

Si j'exécute le programme ci-dessous avec le fichier zip qui contient des fichiers avec des caractères diacritiques (par exemple 1-2GF-969 ## JÖN.pdf), j'obtiens IllegalArgumentException.ZipInputStream lève l'exception Illegalargument pour les signes diacritiques

Mon application doit supporter toutes les langues. Donc, nous définissons l'encodage en UTF-8

Toutes les langues fonctionnent bien. Mais le problème vient lors de la lecture des caractères diacritiques.

J'ai essayé d'utiliser des alternatives au flux d'entrée zip, comme arcmexer, mais il ne supporte pas les caractères chinois.

S'il vous plaît aidez-moi avec ceci.

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

Veuillez mettre à jour votre question pour inclure la pile complète. – BalusC

Répondre

1

Il est fort probable que les archives ZIP que vous avez essayées avec le codage UTF-8 ne soient pas utilisées. Cet article devrait aider: http://commons.apache.org/compress/zip.html

+0

Salut, Cela fonctionne très bien avec Apache commons compress et Winzip - dernière version - 14.5. J'ai essayé avec la version d'évaluation de WinZIP. Nous avons une licence pour Winzip 9 seulement. Alors, j'essaie de trouver des solutions alternatives. Si vous le savez, veuillez aider. – Meghaladevi

Questions connexes