Archiválás könyvtárak, zip
Java dolgozó fájlok mellett az általános funkcionalitást (olvasás, írás, stb) lehetővé teszi a használatát zip-archívumok. ZipInputStream és ZipOutputStream - Ehhez két osztályba kerülnek meghatározásra java.util.zip csomagot.
Sajnos, nem tudtam, hogy egy normál fájl orosz karakterek nevei fájlokat és könyvtárakat. Ezért, az I. példa használt könyvtárban apache-ant-zip.jar. amely sikeresen megoldja a fájlarchiválási kérdéseket a nevét, amely használja a cirill ábécét.
Példaként azt egy három szintű könyvtár szerkezete a következő:
archiválási könyvtár
Ahhoz, hogy megfelelő kódolás az orosz neveket a fájlok a módszer példáját setEncoding osztály ZipOutputStream.
A példa egy rekurzív módszerrel addDirectory. Ez mtode hozzáadása után ZipEntry tárgy ZipOutputStream stream file rögzített tartalom. Erre a célra az írási módszer. felvétel áramban bájttömböt zout.write (puffer). A végén lezárt ZipEntry closeEntry () módszer.
A program eredményeként látható a konzolon:
unzipping könyvtár
A példában használt kicsomagoló olyan fájlt, amelyet az előző példában, könyvtár archívumában.
Csomagold eljárás bemenő paramétere megkapja az archív fájl. Zipfile lehetővé teszi, hogy minden „esemény” a könyvtárak és fájlok az archívumban. A tartalma a archív extraháljuk egy ciklusban.
A program eredményeként látható a konzolon:
A forráskód ezen példa arhivirirovaniya többszintű könyvtár formájában az Eclipse projekt fájl kicsomagolás itt tölthető le (56,6 MB). apache-hangya-zip.jar Könyvtár. A példákban használt szerepel a projektben.