В этом примере используется ZIP -входы Java для сжатия и декомпрессации файлов. Предыдущая часть кода реализует получение путей файла, изменения в сжатые имена файлов и т. Д.
пакет com.utility.zip; import java.io.bufferedInputStream; Import Java.io.BufferedOutputStream; импорт java.io.file; импорт java.io.fileinputStream; импорт java.io.fileOutputStream; импорт java.io.fileOutputerem; Zip Zip Zip ввод и вывод * * * @author liujiduo * */public final Class Ziputil {private ziputil () {// ulm}/** * сжатый файл * * @param filepath * file pail для сжатия * @return Compressed файл */public Static file Zip) {filepath = filepath = filepath = filepath = filepath = filePath = nul; (source.exists ()) {// сжатое имя файла = исходное файл. {fos = new FileOutputStream (target); Zos = new ZipOutputStream (new BufferedOutputStream (FOS)); // Добавить соответствующий файл entryAddentry ("/", source, zos);} catch (ioexception e) {thress new runtimeexcept target;}/** * scan для добавления записи файла * * @param base * base path * @param source * source file * @param zos * zip file wreat stream * @Throws ioException */private static void addentry (основание строки, источник файла, zipoutputStream zos) Throws IoExcept Source.getName (); if (source.isdirectory ()) {for (файл файла: source.listfiles ()) {// рекурсивно перечисляет все файлы в каталоге и добавьте файлы entryAddentry (intry + "/", file, Zos);}} {fileInputStream fis = null; buffereInpream bis = null; 10]; fis = new FileInputStream (Source); BIS = new BufferedInputStream (fis, buffer.length); int Read = 0; Zos.PutNextEntry (New Zipentry (Entry)); while ((read = bis.read (buffer, 0, buffer.length))! = -1) {zos.write (buffer, 0, read);} zos.closeentry ();} наконец {ioutil.closequietly (bis, fis);}}}/*** unzip -файл* @param filepath filepath* compress*/public strice -strice* @param filepath*/publice static* nzip* @param filepath*/** unzip -файл filePath) {file source = new File (filePath); if (source.exists ()) {ZipinputStream zis = null; bufferedOutputStream bos = null; try {Zis = new ZipinputStream (new FileInputStream (Source)); Zipentry intry = null; while ((intry = zis.getNextentry ())! = null &&! intry.getName ()); if (! target.getParentFile (). exists ()) {// Создать родительский каталог файла target.getParentFile (). mkdirs ();} // Написать в файл bos = new BufferedOutputempream (new FileOutputStream (Target); int Read = 0; zis.read (buffer, 0, buffer.length))! = -1) {bos.write (buffer, 0, read);} bos.flush ();} zis.closeentry ();} catch (ioexception e) {throw runtimeexception (e);}, наконец, {ioutil.closequiet (zis); main (string [] args) {string targetpath = "e: // win7 обои"; файл файла = ziputil.zip (targetpath); system.out.println (file); ziputil.unzip ("f: // win7 walpaper.zip");}}Ниже приведено описание языка Java для закрытия одного или нескольких объектов потока через класс инструмента IO Stream, чтобы получить список объектов замкнутого потока, следующим образом:
пакет com.utility.io; import java.io.closable; import java.io.ioexception;/** * io потокового инструмента класса * * @author liujiduo * */public class ioutil {/** * закрыть один или несколько объектов потока * * @param closebles * list strecebree * @throws ioexception */public voide voideable (sticable voideable ... sticeable ... sticable (sticable voideable ... {if (closeable! = null) {for (roblesable stockable: rolseables) {if (closable! = null) {closable.close ();}}}}}/*** Закрыть один или несколько объектов потока** @param closeable* Список потоков, которые могут быть закрыты*/public void void {close (closeables);} catch (ioException e) {// ничего не делать}}}Суммировать
Выше приведено все содержание этой статьи о примере кода метода использования файла сжатого файла Java, я надеюсь, что он будет полезен для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это.