Тя - архив

Самостоятелно извличане на JAR-файлове

Създаване на лесен за използване на различни платформи, на Java файлове.

Много години на ZIP-архиви Фил Кац е един от най-популярните формати на архивни файлове. Sun е приела формата на цип като основа за Java-архив (JAR). Sun разширява използването на пощенски формат от различни конвенции, която дава възможност за пакетиране на Java класове в архива. С добавянето на JAR манифест изпълнение файл Java-софтуерна среда могат лесно да намерят и пряко изпълнява главната клас приложения на Java-базирани, съдържащи се в буркан-файла.

Някои цип полезност може да създаде саморазархивиращи се архиви за различни платформи, като MS Windows. Този инструмент комбинира конвенционален цип архив с програмата, генериране на нов изпълним (Търсейки) файл. Получатели Търсейки-файл, просто трябва да го изпълним за извличане на съдържанието на цип архива. Изпълнимия файл стартира екстрактор за извличане на файлове от архива на потребител изходна директория.

Можете да конвертирате редовен Zip-или буркан-файла в изпълним буркан-файл на всяка платформа, която поддържа Java. Докато саморазархивиращ се с цип файл може да се превръща в един изпълним файл само за определена платформа, саморазархивиращ се буркан-файл може да се разпространява и работи на всяка платформа, поддържаща Java.

Създаване на саморазархивиращ се буркан-файл е просто. Само необходима специална JAR файловете, Java-базиран софтуер, аспиратор, Zip-или буркан-файл, който съдържа файлове от основното съдържание, както и всеки буркан-полезност на Java SDK.

Файлът на манифеста

За да направите изпълними JAR-файлове е необходимо, на първо място, явна името на файла MANIFEST.MF в директорията на META-INF. Файлът на манифеста може да съдържа много различни елементи; но за нашите цели тук, ние трябва само да се определи името на Java клас, който съдържа основен метод () се основава на unpacker Java:

Добавихме явна файл с име jarmanifest да примерния код на съвета. За повече информация, вижте файла на манифеста. Спецификация Jar-файл.

абсорбатор

Програма-аспиратор може да се направи с помощта на различни подходи. Подходът ние предлагаме тук само лесен и пряк. Първо-аспиратор програма научава името на саморазархивиращ се буркан-файла. С това име, екстрактор използва стандарта, вграден пощенски / Java буркан-библиотека, за да извлечете файловете, съдържащи се в архива. пълен изходен код на продукта може да се намери в ZipSelfExtractor ZipSelfExtractor.java.

Прехвърляне на име буркан файл абсорбатор програма могат да бъдат трудни. Въпреки че името на JAR-файла се появява на командния ред, името не се предава на главния () - метод, клас. Ето защо, в програма-unpacker ние използваме следния код, за да извлечете информация от URL адреса, който сочи към аспиратора:

Имайте предвид, че метод getSystemResource () минаваме myClassName вместо ZipSelfExtractor.class. Това ви позволява да промените-unpacker име на програмата, без да променя тази част от кода. Ние търсим за текущото име клас да се определи myClassName.

Ние след това извлича името на JAR-файла. На първо място, ние молим за URL адреса на файла на класа, който съдържа текущо изпълнявания клас (което е аспиратор за). След получаване на URL адреса, ще може да получи името на JAR-файла. По дефиниция, URL-unpacker програма JAR следва основния формат:

  1. буркан. което показва, че изпълнимия файл се управлява от буркан-файла.
  2. URL буркан файл тип файл: / C: /temp/test.jar, следван от характера.
  3. Име пътя до файла вътре /ZipSelfExtractor.class вид буркан-архив.

В случай на програма-unpacker URL може да изглежда така:

Сега, с името на JAR-файла, ние може да изпълнява декомпресия. Decompressor въз основа на вграден Java библиотека за манипулиране на цип / буркан-файл, за да извлечете файловете, съдържащи се в архива. Cm. Ресурси. за повече информация относно Java библиотеки за манипулиране на цип / JAR-файлове.

За улеснение аспиратора е направена под формата на програма с графичен интерфейс Java. Приложението използва класа JFileChooser. да се даде възможност на потребителите да определят директорията, предназначена за което те искат да извлечете файловете. ProgressMonitor показва напредъка на процеса на екстракция. Ако файлът може да бъде написано върху съществуващ файл, той ще бъде подканен дали да замените съществуващия файл наистина. След приключване на стандартен диалогов прозорец предоставя статистически данни разархивирате.

Опаковка буркан файл

Сега, когато имаме явна файл и разопаковане, ние можем да се създаде самостоятелно извличане буркан-файл. Ние можем ръчно да използвате буркан-полезност на JDK, да направи самостоятелно извличане буркан-файл. Например, да предположим, че имате цип файл myzip.zip. Можете да предприеме следните стъпки, за да създадете саморазархивиращ се файл от него:

  1. Отидете до директорията, съдържаща myzip.zip.
  2. Изтеглете zipper.jar.
  3. Извличане на файловете в текущата директория. Взехме това буркан файл саморазархивиращ се.
    Java -jar zipper.jar
  4. Копирайте файла на zipper.class ZipSelfExtractor.class.
  5. Преименуване myzip.zip в myzip.jar.
  6. Обнови myzip.jar. добавяне на файлове и jarmanifest ZipSelfExtractor.class.
    буркан uvfm myzip.jar jarmanifest ZipSelfExtractor.class

Сега myzip.jar стана саморазархивиращ се файл на всички платформи, съдържаща по време на изпълнение на Java програми (JRE) версия 1.2 или по-късно. За да изпълните самостоятелно буркан-файл, тип:

Java -jar myzip.jar

Имайте предвид, че някои платформи може вече да обвързващи, така че буркан-файл може да се управлява, за да се извърши, само с кликване на мишката върху файла с икона myzip.jar. което е еквивалентно на конзолата команда.

Упражнение за читателя

Текущ ZipSelfExtract не гарантира добра интеграция, ако го направите, саморазархивиращ се архив на буркан-буркан-съществуващия файл вече съдържа явна файл. Добави интелигентност, за да се създаде unpacker и инструкции, които можете да работите със съществуващите буркан-файл, съдържащ манифеста файлове.

с JAR Дискретност

Self-буркан-файла - добър механизъм разпространение на файлове между различни платформи. Саморазархивиращи се архиви буркан-лесно да се създаде, и минималното изискване за потребителя, за да инсталирате JRE 1.2 или по-късно - един разумен компромис, което позволява да се получи междуплатформена поддръжка.

Вместо да се създава саморазархивиращ се буркан файл ръчно тестване ZipAnywhere. ZipAnywhere - пълнофункционален пощенски / буркан-полезност, написани на 100% чист Java. Това е - един безплатен инструмент, с графичен интерфейс, като например WinZip, която ви позволява да създадете саморазархивиращ се JAR-файлове само с едно кликване на един бутон.