2011-10-21 9 views
0

ZipArchiveEntryでは、ファイル名を定義する方法(圧縮されたファイルは英語以外の外国語で名前が付けられています)。私が定義するときorg.commons.ziparchiveentryで外国語のファイル名を与える方法

ZipArchiveEntry ze =新しいZipArchiveEntry(ファイル名);

Linuxマシンではうまく動作しますが、ウィンドウではうまく動作しません。助けてください。私は外国語で名前のindivdualファイルを圧縮しようとしているZipArchiveEntryを使用し

更新

。 zipされた後、私はそのzipからファイルを抽出します。 linuxでは、ファイル名が正しく返されます。しかし、Windowsではファイル名が壊れています

jdkも同じ問題が報告されています。

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4244499

http://www.coderanch.com/t/454532/java/java/Corrupt-file-compression

答えて

0

あなたはまたgetEntriesメソッドを使用してファイル名を暗黙的に得ることができる

Enumeration<?> en = zip.getEntries(); 
ZipArchiveEntry zipEntry = null; 
while (en.hasMoreElements()) { 
    zipEntry = (ZipArchiveEntry) en.nextElement(); 
} 

あなたは、名前

"i18n name string".equals(zipEntry.getName()) 
にチェックするために、またはZipEntry上のgetNameを呼び出すことができます

希望します。

+0

私は外国人の名前でファイルを圧縮しようとしています。 zipArchiveentryのファイル名のエンコーディングを提供する方法を教えてください。 – Roshan

+0

ポイントがない可能性があります。 zip内のすべてのファイルを抽出しますか?問題はWindowsファイルマネージャのプレゼンテーションですか? – Efthymis

+0

はい..私の問題はファイルマネージャのプレゼンテーションです – Roshan

関連する問題