java.util.zip баг с русскими буквами
От: Денис Цыплаков Россия  
Дата: 14.06.06 12:23
Оценка:
Привет!

Наткнулся на баг с русскими именами файлов при чтении из ZIP
архива при помощи java.util.zip

Помню что баг есть, помню, что где-то обсуждалось — не помню
как лечить. Вроде предлагалось какое-то лекарство в виде
аналогичной библиотеки или еще что-то.

Напомните pls. Поиск в интернете дает слишком много решений,
что брать?

--
WBR Денис Цыплаков /* ICQ UIN : 108477017 */
Знающий не говорит, говорящий не знает
Posted via RSDN NNTP Server 2.0
Re: java.util.zip баг с русскими буквами
От: Blazkowicz Россия  
Дата: 14.06.06 12:25
Оценка:
Здравствуйте, Денис Цыплаков, Вы писали:

ДЦ> Наткнулся на баг с русскими именами файлов при чтении из ZIP

ДЦ> архива при помощи java.util.zip

ДЦ> Помню что баг есть, помню, что где-то обсуждалось — не помню

ДЦ> как лечить. Вроде предлагалось какое-то лекарство в виде
ДЦ> аналогичной библиотеки или еще что-то.

Оно?
Re[2]: java.util.zip баг с русскими буквами
От: Денис Цыплаков Россия  
Дата: 14.06.06 12:39
Оценка:
Blazkowicz пишет:

> ДЦ> Помню что баг есть, помню, что где-то обсуждалось — не помню

> ДЦ> как лечить. Вроде предлагалось какое-то лекарство в виде
> ДЦ> аналогичной библиотеки или еще что-то.
>
> Оно? <http://sql.ru/forum/actualthread.aspx?tid=303484&gt;

Нет. Это я находил, но не оно. Там проблема при чтении.
                 while (files.hasMoreElements())
                 {
                     ZipEntry entry = files.nextElement();
                     InputStream zis = zip.getInputStream(entry);
                     //Так вот если есть русские буквы, то zis == null
                 }


Если название файла английское — то все ОК. Проверял. Если буквы
русские — засада. Явно не та кодировка. Вот только не знаю как
сделать ту. Я бы имя перекодировал — но вот беда нет там метода
setName. Можно конечно новую entry создать, но не уверен, что
сработает. Если никто ничего не посоветует — завтра буду пробовать.

--
WBR Денис Цыплаков /* ICQ UIN : 108477017 */
Знающий не говорит, говорящий не знает
Posted via RSDN NNTP Server 2.0
Re[3]: java.util.zip баг с русскими буквами
От: Blazkowicz Россия  
Дата: 14.06.06 12:47
Оценка:
Здравствуйте, Денис Цыплаков, Вы писали:

ДЦ> Нет. Это я находил, но не оно. Там проблема при чтении.


И эти 2 тоже не помогают?
Re[3]: java.util.zip баг с русскими буквами
От: Denis Popov Россия http://picasaweb.google.com/denislpopov
Дата: 14.06.06 12:59
Оценка:
При распаковке ZipFile и ZipEntry тоже из org.apache.tools.zip? В апачевском
варианте у ZipFile есть конструктор с кодировкой и метод getEncoding(), а вместо
метода entries() — getEntries().
Posted via RSDN NNTP Server 2.1 beta
Re[4]: java.util.zip баг с русскими буквами
От: Денис Цыплаков Россия  
Дата: 15.06.06 05:28
Оценка:
Denis Popov пишет:

> При распаковке ZipFile и ZipEntry тоже из org.apache.tools.zip? В

> апачевском
> варианте у ZipFile есть конструктор с кодировкой и метод getEncoding(),
> а вместо
> метода entries() — getEntries().

А вот скажите мне Апачевчский org.apache.tools.zip есть как отдельная
библиотека? Commons-Compress — это оно или не совсем.

А то я нашел как часть HiveMind но это как бы не совсем то.


--
WBR Денис Цыплаков /* ICQ UIN : 108477017 */
Знающий не говорит, говорящий не знает
Posted via RSDN NNTP Server 2.0
Re[4]: java.util.zip баг с русскими буквами
От: Денис Цыплаков Россия  
Дата: 15.06.06 05:33
Оценка:
Blazkowicz пишет:

> ДЦ> Нет. Это я находил, но не оно. Там проблема при чтении.

>
> И эти 2
> <http://rsdn.ru/search/?q=zip+%F0%F3%F1%F1%EA%E8%E9&amp;mode=rank&amp;group=N&amp;group=10&gt;
> тоже не помогают?

Там все больше про создание. Мне надо читать. Я нашел workAround —
кусок кода заменяющий русские буквы в именах файлов на транслит.
Но мня это не устраивает. Мне надо оставить архив как есть.

Возьму наверное библиотеку от Jakarta.

--
WBR Денис Цыплаков /* ICQ UIN : 108477017 */
Знающий не говорит, говорящий не знает
Posted via RSDN NNTP Server 2.0
Re[5]: java.util.zip баг с русскими буквами
От: Денис Цыплаков Россия  
Дата: 15.06.06 06:13
Оценка:
Денис Цыплаков пишет:

> А вот скажите мне Апачевчский org.apache.tools.zip есть как отдельная

> библиотека? Commons-Compress — это оно или не совсем.
>
> А то я нашел как часть HiveMind но это как бы не совсем то.

Сам себе отвечаю. HiveMind тут ни при чем.
Отодрал (в хорошем смысле) реализацию zip от ant-a (как все делают)
получил jar такой вот структуры.
[text]
org
+---apache
+---tools
+---zip
AsiExtraField.class
ExtraFieldUtils.class
UnixStat.class
UnrecognizedExtraField.class
ZipEntry.class
ZipExtraField.class
ZipFile$BoundedInputStream.class
ZipFile.class
ZipLong.class
ZipOutputStream.class
ZipShort.class
[/text]

Вроде все работает.

--
WBR Денис Цыплаков /* ICQ UIN : 108477017 */
Знающий не говорит, говорящий не знает
Posted via RSDN NNTP Server 2.0
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.