![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| JavaAnfeanger |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 5.3.2006 Репутация: нет Всего: нет |
Всем привет!!!
такая проблема... мне нужно создать копию файла (это ZIP). IOUtils это org.apache.commons.io.IOUtils.
Проблема в том, что ОН "ломает" файл на этапе IOUtils.copy и после этого ZipFile кидает: java.util.zip.ZipException: error in opening zip file. В чем может быть причина? Thanks |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15719 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Что значит "ломает"? Ты сравнивал файлы, чем они отличаются? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| JavaAnfeanger |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 5.3.2006 Репутация: нет Всего: нет |
приложил два ZIPa... один оригинал export_newsletter и NewsletterOwnDevel6365739159989130583, то что получилось в процессе "копирования"...
Эффект наблюдаестя только на Linux OS!!! Так как программа преднозначенна для сервера который под Linux-ом, то мне очень важно чтобы она именно там и рабртала... Присоединённый файл ( Кол-во скачиваний: 4 )
export_newsletter.zip 3,43 Kb |
|||
|
||||
| JavaAnfeanger |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 5.3.2006 Репутация: нет Всего: нет |
вот "поломанный" вариант....
Присоединённый файл ( Кол-во скачиваний: 4 )
NewsletterOwnDevel6365739159989130583.zip 5,16 Kb |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15719 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Ошибка у тебя в коде, общее правило таково: кто открывает поток, тот его и закрывает. IOUtils.copy() не открывает поток, и поэтому он его и не закрывает. Ты его открыл, ты должен и закрыть.
И кстати, читать данные из zip можно и прямо из стрима, создавать временный файл совсем не обязательно. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Mirkes |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 586 Регистрация: 18.8.2011 Где: Красноярск Репутация: 7 Всего: 17 |
Я не совсем понимаю, зачем для создания просто копии файла вдаваться в детали его устройства. Просто копируем файл любым известным способом. Вот если в него надо что-то дописать или что-то в нем заменить, тогда понятно. Когда я столкнулся с такой задачей я решал ее с помощью следующего класса
вызов выглядел так
Правда я работал с jar, а не с zip, но это все равно. -------------------- Mirkes |
||||
|
|||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |