Zip архиви на езика Java
На ZIP-файлове могат да съхраняват един или повече файлове в (обикновено) компресиран формат. Всеки ZIP-файл има глава, която представлява напред информация като име на файл или да го използвате за метод за компресиране. В Java за четене на ZIP-архиви използва ZipInputStream клас. Във всеки архив винаги се изисква, за да видите отделните записи (записи).
метод getNextEntry връща на запис, описващ тип обект ZipEntry един. прочетете метод ZipInputStream клас се променя така, че да се връща -1 в края на текущия запис (а не само в края на ZIP-файл).
Допълнителна closeEntry извиква метод, за да бъде в състояние да преминете към следващото четене на записа. По-долу е типичен код последователност за извършване на четене съдържание ZIP-файл:
За да прочетете съдържанието на конкретен запис на ZIP-файл не е ефективно да се използва стандартен метод за четене, както и методите на наличието на голям вътре в ZIP-файл, можете да използвате следната линия:
Ако възникне грешка при четенето на ZIP-файл ZipInputStream клас хвърля ZipException. Обикновено това се случва, когато повредени ZIP-файл.
ZipOutputStream клас се използва за да напишете ZIP-файл. За всеки запис, който искате да поставите в ZIP-файл е създаден ZipEntry обект. Желаното име на файла се предава на ZipEntry на конструктор, той задава параметрите на другите. като дата на създаване на метода и декомпресия.
Ако се желае, тези параметри могат да бъдат заменени. Наричана по-долу метод putNextEntry ZipOutputStream клас, за да започнете процеса на записване на нов файл. След това данните на видео файл се изпраща на потока на пощенски. При метода на завършеност нарича closeEntry. След това, всички тези действия се извършват многократно за всички други файлове, които искате да запазите в ZIP-архив. По-долу е представен преглед на необходимия код:
JAR-файлове са същите като ZIP-файл, а само съдържат рекорд от различен тип, наречен явна. За четене и писане манифести и приложни класове JarInputStream JarOutputStream.
Пощенски потоци са отличен пример за извличане на захранващия поток. Когато четете данни, които се съхраняват в компресиран вид, не е нужно да се притеснявате за това дали те ще бъдат разопаковани, както иска. И източник на байтове в ZIP-формат, не е задължително да бъде този файл: ZIP-данни могат да идват и чрез мрежова връзка. В действителност, най-малко четат клас товарач JAR-файл аплета ще прочетете и декомпресиране на данните е от мрежата.
Фиг.2. програма ZipTestкод програма, която е показана по-долу, ви позволява отворен ZIP-файл и след това показва всички файлове, съхранявани в нея в падащото меню в долната част на екрана. Ако изберете някой от тези файлове, това показва съдържанието на текстовото поле, както е показано на фигура 2.
Ето и пълния кода на нашата програма ZipTest.java: