![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| newinjava |
|
|||
![]() ATokS ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 30.8.2009 Репутация: нет Всего: нет |
Здрасти. У меня проблема с BufferedWriter, он не хочет сохранять то что ему дают. Искажает инфу.
Вот код:
В Векторах starts и ends хронятся оффсэты определённых кусков файла. После вызова выше указонной функции из файла, в котором находятся несколько картинок друг за другом, должы быть вытащенны все картинки. Для этого я другой функцией ищу места где лежат бильды и сохраняю в starts и ends. Но вот проблемма, я получаю потерю данных. Копии не полноценны, т.е. картинки не показывается. Как уже по закоментированным объектам видно испробывал всё что мог. Ни чего не помогло. Единствинная радость это настоящие состояние функции, она хоть и не работает так как мне надо но часть картинки открывается. Во всех остольных попытках и того небыло. Посмотрел содержание файла, разница в одном символе. Кокойто квадратный символ всегда заменяется на ?. Я понял именно это и ведёт к искожению файла. Как мне решить эту проблемму, что я делаю не так? |
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
Попробуйте что-нибудь типа такого
Тоже искажает? |
|||
|
||||
| newinjava |
|
|||
![]() ATokS ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 30.8.2009 Репутация: нет Всего: нет |
Проканало. Спасибо. А вчём причина то? -------- Добавел P.S. Блин, постов маловато. Хотел плюс ткнуть. Это сообщение отредактировал(а) newinjava - 28.4.2011, 22:15 |
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
А не знаю. Попробуйте теперь это обернуть BufferedInputStream:
Ну можно попросить кого-нибудь |
|||
|
||||
| newinjava |
|
|||
![]() ATokS ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 30.8.2009 Репутация: нет Всего: нет |
||||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Done. -------------------- 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. |
|||
|
||||
| newinjava |
|
|||
![]() ATokS ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 30.8.2009 Репутация: нет Всего: нет |
||||
|
||||
| newinjava |
|
|||
![]() ATokS ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 30.8.2009 Репутация: нет Всего: нет |
Интересная проблема.
При выводе первой части файла, получается правельный размер. В этом случае 1024 Byte Но вот при выводе второй части размер получается 3072 Byte. Хотя я выполнил skip(2048). Может я чего не так понял в работе потоков? Моя задача токова. Разбить файл на части которые указанны в Векторах starts и ends. Для примера я прописал статически оффсеты трёх частей файла. Логически все три части должны быть по 1024 Byte но вот первая часть 1024 , вторая 3072 и третья 4096. Токое ощущение что каждая часть выводится от нуля до значения в Векторе ends.get(nr) а не так как должна от starts.get(nr) до ends.get(nr).
Что тут не так? Это сообщение отредактировал(а) newinjava - 29.4.2011, 18:02 |
|||
|
||||
| newinjava |
|
|||
![]() ATokS ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 30.8.2009 Репутация: нет Всего: нет |
Заглянул в те файлы котоые имеют корявые размеры. Почемуто после нужных байтов в файл дописываются NULL именно эти байты и косячат размер файла. Я эти NULL просто тупо в Notepad++ удалил, файл открылся без проблем и рамер стал правельным.
Почему моя функция дописывает этот мусор в файл? Добавлено через 8 минут и 55 секунд Убрал галочку. Вопрос решен. Это сообщение отредактировал(а) newinjava - 29.4.2011, 18:22 |
|||
|
||||
| newinjava |
|
|||
![]() ATokS ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 30.8.2009 Репутация: нет Всего: нет |
Нашел свою ошибку.
ende У меня является OFFSET до куда должно писаться, по этому и пмсалось лишнее. Надо было сделать так:
Всем спасибо Это сообщение отредактировал(а) newinjava - 29.4.2011, 22:45 |
|||
|
||||
![]()
|
| Правила форума "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. |