В org .commons.ziparchiveentry как дать имя файла на иностранных языках - PullRequest
0 голосов
/ 21 октября 2011

В ZipArchiveEntry как определить имя файла (сжатые файлы имеют имя на другом языке, кроме английского).Когда я определяю

ZipArchiveEntry ze = new ZipArchiveEntry (имя файла);

Это прекрасно работает для компьютеров Linux, но не для Windows.пожалуйста, помогите.

update

Используя ZipArchiveEntry, я пытаюсь сжать отдельные файлы с именем на иностранном языке.После архивирования я извлекаю файл из этого почтового индекса.В 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

1 Ответ

0 голосов
/ 21 октября 2011

Вы можете получить имя файла неявным образом, используя метод getEntries

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

Затем вы можете вызвать getName для zipEntry, чтобы проверить имя

"i18n name string".equals(zipEntry.getName())

Надеюсь, это поможет.

...