PowerGrasp - архиватор от Malcolm'а | SEclub.org
PowerGrasp - архиватор от Malcolm'а
Все новые
dreikk, это уже вряд ли, я редковато вижу по интернету архивы а этом формате. Во всяком случае, уж точно после RAR, если я его возьмусь делать.

Ссылка на пост
Всего сообщений: 5198
*
Malcolm
ts 2 мая 2009 в 20:03
Как открывается архив?
ZIP-архив состоит из двух основных частей: собственно файлов с заголовками и записи о содержимом архива в конце, которая называется central directory, сокращенно - CD. Чтобы узнать, что в архиве, нужно добраться до CD, и это можно делать с конца или с начала.
Если с начала, то нужно читать заголовки и пропускать указанные там размеры файлов. Правда, иногда размеры пишут после самих файлов в так называемых дескрипторах, и тогда приходится распаковывать файлы в никуда, чтобы выяснить, сколько байт из архива нужно пропустить.
Если с конца, то читается параметр в самом конце архива, после CD, в котором сказано, с какого байта CD начинается, и потом пропустить уже известное количество байт до CD. Второй метод открытия был введен с 2.5.0 и используется, если размеры файлов в заголовках не написаны или возникает какая-то ошибка в кривом архиве. :strela:
*
Malcolm
ts 2 мая 2009 в 20:06
Зачем отключать открытие с конца?
Дело в том, что при первом методе входящий поток открывается только один раз и последовательно читается. При втором нужно сначала пропустить почти весь объем файла до параметра о положении CD, а потом открыть заново и пропустить еще раз, до CD. Обычно это быстрее, чем чтение, но на некоторых старых телефонах пропуск байт работает некорректно, и приходится вместо пропуска просто читать байты в никуда. Это все равно быстрее, чем распаковывать файлы на ходу, но так приходится делать два раза. Поэтому получается, что на таких телефонах при открытии с конца будут дольше открываться архивы без данных о размере файлов в заголовках и битые архивы. Если запретить открытие сзади, то битые архивы, которые котрывались раньше, скорее всего, перестанут открываться, но открытие архивов без данных о размере файлов будет проходить несколько быстрее.
*
#Stalker#
3 мая 2009 в 00:20
Malcolm, я пару дней назад сравнивал степень сжатия PowerGrasp vs WinRar. :) Архив из нескольких книг .txt, созданный в PowerGrasp, весил на несколько КБ меньше такого же архива, созданного в WinRar, что не может не радовать. :kul: Степень сжатия на макс. и там, и там.
3 мая 2009 в 00:22 / #Stalker# (1)
*
KRAFTER
3 мая 2009 в 05:03
Извените за тупой вопрос но будет ли версия с поддержкой rar архивов ?
*
Malcolm
ts 3 мая 2009 в 12:53
#Stalker#, это очень здорово. :kul: Значит мне не нужно ничего дорабатывать в механизме запаковки.
Krafter, в ближайшее время, наверное, нет, но идея витает в воздухе. ;)
*
roman1OO
3 мая 2009 в 13:52
А какая самая последняя версия? :horseshe: и что в ней изменилось?
*
pro100Sawa
3 мая 2009 в 14:07
Malcolm, seclub.org/forum/goto/7618483/ - а причина этому сложное строение рар или чё? До сих пор не сделали нормальный разархиватор:( P.s. Ближайшее время это сколько год, два?
*
pro100Sawa
3 мая 2009 в 14:08
roman1OO, скачай узнаеш
*
KRAFTER
3 мая 2009 в 14:08
Malcolm, надеюсь что будет :podmig:
*
Malcolm
ts 3 мая 2009 в 14:51
S@n 99.8fm, ближайшее время - это пока я разбираюсь с глюками. Потому что если я сделаю поддержку RAR, но программа будет работать через известное место - это совсем не то, что мне нужно. Ну а дальше посмотрим.
С RAR проблема в том, что спецификаций формата нет, есть только библиотека на C++, которую нужно переносить на Java. С одной стороны, придется разбираться, как она работает, и по программному коду составлять представление о том, как формат RAR вообще устроен, с другой - придется всю эту ерунду портировать на Java с учетом ограниченного объема heap. А браться за это дело хочется не каждому. Пока что только автор MobileRAR сделал попытку, да и то довел дело только до середины.
roman1OO, seclub.org/forum/goto/7568156/
3 мая 2009 в 14:53 / Malcolm (1)
*
dreikk
3 мая 2009 в 17:08
a как на счет формата 7z, будет его поддержка?
*
Malcolm
ts 3 мая 2009 в 18:21
dreikk, это уже вряд ли, я редковато вижу по интернету архивы а этом формате. Во всяком случае, уж точно после RAR, если я его возьмусь делать.
Для полноценного использования разделов сайта войдите или зарегистрируйтесь.
Приложения Java | Загрузки Seclub | Форум | Главная
18+ © Seclub.org 2003-2026