Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по С Живицкая (Мет пособие).doc
Скачиваний:
112
Добавлен:
15.06.2014
Размер:
2.11 Mб
Скачать

8.1.7.1.Программы архивации

Различными разработчиками были созданы специальные программы для архивации файлов. Часть из них распространяется бесплатно, часть – на коммерческой основе (за плату), но большинство программ такого рода распространяются как «Shareware». Т.е. они могут быть получены бесплатно, но если Вы хотите их использовать постоянно, то должны выслать авторам или распространителям указанное (обычно небольшое, до 50 дол.) вознаграждение.

Как правило, программы для архивации файлов позволяют помещать копии файлов на диске в сжатом виде в архивный файл, извлекать файлы из архива, просматривать оглавление архива и т.д. Разные программы отличаются форматом архивных файлов, скоростью работы, степенью сжатия файлов при помещении в архив, удобством использования.

Наиболее распространенные программы-архиваторы имеют приблизительно одинаковые возможности и ни одна из них не превосходит другие по всем параметрам: одни программы работают быстрее, другие обеспечивают лучшую степень сжатия файлов. Даже если сравнивать программы только по степени сжатия, то среди них нет лидера: разные файлы лучше сжимаются разными программами.

Хотите узнать, в каком формате чаще всего хранятся файлы у русскоязычных пользователей Интернет? Ответить на этот вопрос было предложено всем посетителям популярного сайта “Архиваторы: тесты, новости,утилиты…” (по адресамhttp://arctest.cjb.netилиhttp://www.shomonopoly.com/arctest). Вопрос был специально поставлен неконкретно, так как оценивалась популярность самого формата, а не той программы или оболочки, в которой он создавался. Полученные данные этого опроса не то чтобы обнадёживают, а скорее внушают “уверенность” в светлом будущем российских архиваторов.

Итак. Большая часть проголосовавших (61%) выбрали RARв качестве любимого формата. Второе место (21%) , естественно, получилZIP, третье (6%) –ARJ. Далее по паре очков получилиACE,JAR(упомянутыйsolid’ный архиватор от автораARJ), упаковщики из комплектаBIX/UFA/777 от Игоря Павлова,IMPиHA.

Кратко опишу основные возможности наиболее популярных программ-архиваторов — WinRAR,WinZip,ARJи некоторых других.

8.1.7.2.Arj

Это очень популярный архиватор начала 90-х, созданный Robert’омJung’ом, но утративший свои позиции сейчас. Несмотря на это, новые версии выходят исправно, последняя уже носит номер 2,73. Имеется слегка недооптимизированный братецARJ32.ARJобладает большим количеством возможностей . Программа поддерживает длинные имена файлов в средеWindows9x, позволяет создавать самораспаковывающиеся и многотомные самораспаковывающиеся архивы. Этот архиватор поддерживает восстановление повреждённых архивов, позволяет добавлять комментарии к архивам, даёт возможность создавать неизменяемые и закрытые паролем архивы.

Архивный файл.

Архивный файл представляет собой набор из одного или нескольких файлов, помещенных в сжатом виде в единый файл, из которого их можно при необходимости извлечь в первоначальном виде. Архивный файл содержит оглавление, позволяющее узнать, какие файлы содержатся в архиве. В оглавлении архива для каждого содержащегося в нем файла хранится следующая информация:

• имя файла;

• сведения о каталоге, в котором содержится файл;

• дата и время последней модификации файла;

• размер файла на диске и в архиве;

• код циклического контроля для каждого файла, используемый для проверки целостности архива.

Определить с помощью, какой программы был заархивирован тот или другой архивный файл, можно при помощи расширения.

Например: game.rar– заархивирован при помощи архиватораRAR.

game.arj- заархивирован при помощи архиватораARJ.

game.zip- заархивирован при помощи архиватораZIP.

Программы для обслуживания архивных файлов.

Программа ARJвыполняет все функции по обслуживанию своих, архивов. Так, она может и помещать файлы в архив, и извлекать файлы из архива, и делать «саморазворачивающиеся» файлы и т.д

Кроме того, разработчиками этих программ и независимыми программистами были созданы различные вспомогательные программы для обработки архивов, например:

REARJ– преобразование всех архивов в .ARJ-архивы;

ARJSORT– сортировка .ARJ-архивов;

Режимы программ архивации.

Задание функций программы ARJосуществляется с помощью задания кода, команды и режимов. Код команды — это одна буква, она указывается в командной строке сразу за именем программы и задает вид деятельности, который должна выполнить программа. Например,

А — добавление файлов в архив,

Т — тестирование (проверка) архива,

Е — извлечение файлов из архива и т.д.

Для уточнения того, какие именно действия требуются от программы ARJ, можно задавать режимы. Режимы могут указываться в любом месте командной строки после кода команды, они задаются либо с предшествующим знаком «–»: —V, —М и т.д., либо с предшествующим знаком «/»: /V, /М и т.д. (однако в одной командной строке смешивать эти два способа нельзя).

Помещение файлов в архив.

При помещении файлов в архив используются следующие форматы вызова:

ARJкоманда режимы имя-архива(католог\)[имена-файлов].

Параметры команд:

команда –одна буква, которая задает для программыARJвид выполняемой деятельности. Например, А – добавление файлов в архив, М – пересылка файлов в архив и т.д.;

режимы —указываются с предшествующим знаком «—» или«/», они задают или уточняют требуемые от программы архивации действия;

имя-архива —задает обрабатываемый архивный файл. Если этот архивный файл не существует, он автоматически создается. Если расширение у имени архивного файла не указано, то подразумевается.ARJдля программыARJ;

каталог —для программыARJзадает базовый каталог, в котором содержатся файлы, включаемые в архив. Впрочем, с помощью задания каталога в самих именах файлов в архив можно включить и файлы, содержащиеся в других каталогах. Если базовый каталог не задан, то он подразумевается равным текущему каталогу;

имена-файлов —задают файлы, включаемые в архив. При задании имен файлов можно использовать символы * и ?. Если имена файлов не заданы, то подразумеваются все файлы из текущего (для программыARJ– базового) каталога.

После ввода команды программы архивации начинают выполнять запрошенные действия. На экране изображаются имена, помещаемых в архив файлов. При сжатии каждого файла выводится либо процент обработанной части файла, либо горизонтальная, полоска, сообщающая о ходе сжатия. После окончания сжатия каждого файла напротив его имени сообщается о степени сжатия. Заметим как программа ARJсообщают о степени сжатия

ARJвыведет по окончании сжатия 10% (отношение длины сжатого файла к длине исходного файла),a, скажемPKZIP– 90% (на сколько процентов удалось сжать файл при помещении в архив).

Задание степени сжатия. По умолчанию программа ARJобеспечивают достаточно большую скорость работы и близкую к максимальной степень сжатия. Но при желании Вы можете получить максимальную (на несколько процентов большую) степень сжатия файлов за счет несколько более медленной работы. Для этого следует указать режим -JMпрограммыARJ.

Режимы выбора архивируемых файлов.

Программа ARJимеет три основных режима помещения файлов в архив:

Add– добавление в архив всех файлов;

Update– добавление в архив новых файлов;

Freshen– добавление новых версий имеющихся в архиве файлов.

Эти режимы имеют следующие особенности:

• в режиме добавления (Add) в архивный файл добавляются все указанные в команде файлы;

• в режиме добавления новых файлов (Update) в архивный файл добавляются те файлы, у которых либо нет копий в архиве, либо эти копии имеют более раннюю дату, чем у файла. Задание этого режима позволяет предотвратить затирание более новых версий файлов в архиве;

• в режиме обновления версий файлов (Freshen) в архив добавляются новые версии тех файлов, которые уже имеются в архиве. Иначе говоря, в архив добавляются те файлы, копии которых уже находятся в архиве, но имеют более раннюю дату, чем у соответствующего файла на диске. Этот режим позволяет добиться того, чтобы архивный файл содержал наиболее свежие версии своих файлов.

Задание этих режимов осуществляется следующим образом:

Режим

ARJ

Add

Update Freshen

Команда команда команда

А

U

F

Пересылка файлов в архив.

Очень часто требуется не копировать, а пересылать файлы в архив. Иначе говоря, те файлы, которые были успешно добавлены в архив, должны удаляться. Для пересылки файлов в архив можно использовать следующие режимы программы ARJ:

ARJ– режим –D(можно указывать совместно с командами А,UилиF) или команда М.

Если при архивации файлов возникает ошибка, то исходные файлы не уничтожаются. Использование пересылки файлов в архив позволяет существенно сократить место на диске, занимаемое файлами. Часто имеет смысл хранить редко употребляемые программы и данные в виде архивного файла, а при необходимости их использования – извлекать из архива. При использовании программы ARJцелесообразно при пересылке файлов в архив указывать также режим -jtl. Он обеспечивает перед удалением исходного файла его сравнение с копией в архиве.

Извлечение файлов из архива.

А программа ARJсама умеет извлекать файлы из своих архивов.ARJимеет следующий формат вызова:

ARJкоманда режимы имя-архива(катологХ)[имена-файлов].

Параметры команд:

команда —одна буква, которая задает действие, которое должна выполнить программаARJ. Например, Е — извлечение файлов из архива, Х — извлечение файлов из архива в соответствующие каталоги и т.д.;

режимы —указываются с предшествующим знаком «-» или «/»; они задают или уточняют требуемые от программы действия;

имя-архива —задает имя архива, откуда извлекаются файлы. Если расширение у имени архивного файла не указано, подразумеваетсяARJ— для программыARJ. В имени архива можно употреблять символы * и?—в этом случае обрабатывается несколько архивных файлов;

каталог —задает каталог, в который помещаются извлекаемые из архива файлы. Если каталог не указан, подразумевается текущий каталог;

имена-файлов —указывают, какие файлы извлекаются из архива. При задании имен файлов можно использовать символы * и ?. По умолчанию подразумеваются все файлы, имеющиеся в архиве.

После ввода команды программы архивации начинают извлечение файлов из архива. На экране изображаются имена извлекаемых из архива файлов.

Режимы замещения существующих на диске файлов.

При извлечении файлов из архива может возникнуть ситуация, когда в том каталоге, в который извлекается файл, уже имеется файл с таким-же именем. По умолчанию программа ARJпри этом выполняет следующие действия: если файл на диске более старый (имеет более раннюю дату последней модификации, чем файл в архиве), на экран выводится запрос:«имя-файлаexists.Overwrite[YNAQ] ?». Если файл на диске имеет ту же или более позднюю дату последней модификации, что и файл в архиве, выводится тот же запрос, но вместо «exists» сообщается «issameornewer». Можно нажать на одну из клавиш:(y] — заместить имеющийся на диске файл, (N— будет выдан запрос, в ответ на который можно ввести Новое имя файла или сразу нажатьEnter для пропуска извлечения данного файла, (А) — всегда замещать имеющиеся на диске файлы (больше запросов не будет), (Q) — окончить работу программыARJ.

Итак, мы рассмотрели самый популярный архиватор, работающий через командную строку. Пришла очередь рассмотреть и САМЫЙ популярный и мой любимый архиватор: