The packaging and Compression class library in Apache Commons compress

Source: Internet
Author: User

Apache Commons Compress BZIP2 compression:

Package study.inkfish.compress;
Import Java.io.BufferedInputStream;
Import Java.io.BufferedOutputStream;
Import Java.io.File;
Import Java.io.FileInputStream;
Import Java.io.FileOutputStream;
Import java.io.IOException;
Import Java.io.InputStream;
Import Java.io.OutputStream;
Import Org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
Import Org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream;
Import Org.apache.commons.io.FilenameUtils;
Import Org.apache.commons.io.IOUtils; public class Commonsbzip2compress extends Compress {@Override protected void docompress (file srcfile, file destfile) th
		Rows IOException {outputstream out = null;
		InputStream is = null;
			try {is = new Bufferedinputstream (new FileInputStream (srcfile), Bufferlen);
			out = new Gzipcompressoroutputstream (new Bufferedoutputstream (New FileOutputStream (DestFile), Bufferlen));
		Ioutils.copy (is, out);
			Finally {ioutils.closequietly (IS); ioutils.closequietly (out);
		} @Override protected void dodecompress (file srcfile, file Destdir) throws IOException {InputStream is = null;
		OutputStream OS = null;
			try {file DestFile = new file (Destdir, Filenameutils.getbasename (srcfile.tostring ()));
			is = new Gzipcompressorinputstream (new Bufferedinputstream (New FileInputStream (srcfile), Bufferlen));
			OS = new Bufferedoutputstream (new FileOutputStream (DestFile), Bufferlen);
		Ioutils.copy (is, OS);
			Finally {ioutils.closequietly (IS);
		ioutils.closequietly (OS); }
	}
}

Apache Commons compress gzip compression:

Package study.inkfish.compress;
Import Java.io.BufferedInputStream;
Import Java.io.BufferedOutputStream;
Import Java.io.File;
Import Java.io.FileInputStream;
Import Java.io.FileOutputStream;
Import java.io.IOException;
Import Java.io.InputStream;
Import Java.io.OutputStream;
Import Org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
Import Org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream;
Import Org.apache.commons.io.FilenameUtils;
Import Org.apache.commons.io.IOUtils; public class Commonsgzipcompress extends Compress {@Override protected void docompress (file srcfile, file destfile) thr
		oWS IOException {outputstream out = null;
		InputStream is = null;
			try {is = new Bufferedinputstream (new FileInputStream (srcfile), Bufferlen);
			out = new Bzip2compressoroutputstream (new Bufferedoutputstream (New FileOutputStream (DestFile), Bufferlen));
		Ioutils.copy (is, out);
			Finally {ioutils.closequietly (IS); Ioutils.closequietly (oUT);
		} @Override protected void dodecompress (file srcfile, file Destdir) throws IOException {InputStream is = null;
		OutputStream OS = null;
			try {file DestFile = new file (Destdir, Filenameutils.getbasename (srcfile.tostring ()));
			is = new Bzip2compressorinputstream (new Bufferedinputstream (New FileInputStream (srcfile), Bufferlen));
			OS = new Bufferedoutputstream (new FileOutputStream (DestFile), Bufferlen);
		Ioutils.copy (is, OS);
			Finally {ioutils.closequietly (IS);
		ioutils.closequietly (OS);
 }
	}
}

Apache Commons Compress Zip compression

Package study.inkfish.compress;
Import Java.io.BufferedInputStream;
Import Java.io.BufferedOutputStream;
Import Java.io.File;
Import Java.io.FileInputStream;
Import Java.io.FileOutputStream;
Import java.io.IOException;
Import Java.io.InputStream;
Import Java.io.OutputStream;
Import Org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
Import Org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
Import Org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
Import Org.apache.commons.io.IOUtils; public class Commonszipcompress extends Compress {/** for Single file compression */@Override protected void docompress (file srcfile, file
		DestFile) throws IOException {ziparchiveoutputstream out = null;
		InputStream is = null;
			try {is = new Bufferedinputstream (new FileInputStream (srcfile), Bufferlen);
			out = new Ziparchiveoutputstream (new Bufferedoutputstream (New FileOutputStream (DestFile), Bufferlen));
			Ziparchiveentry entry = new Ziparchiveentry (Srcfile.getname ()); EnTry.setsize (Srcfile.length ());
			Out.putarchiveentry (entry);
			Ioutils.copy (is, out);
		Out.closearchiveentry ();
			Finally {ioutils.closequietly (IS);
		ioutils.closequietly (out);  } @Override protected void dodecompress (file srcfile, file Destdir) throws IOException {Ziparchiveinputstream is =
		Null
			try {is = new Ziparchiveinputstream (new Bufferedinputstream (New FileInputStream (srcfile), Bufferlen));
			Ziparchiveentry entry = null; while ((entry = Is.getnextzipentry ())!= null) {if (Entry.isdirectory ()) {file directory = new file (Destdir, en
					Try.getname ());
				Directory.mkdirs ();
					else {outputstream OS = null;
						try {os = new Bufferedoutputstream (new FileOutputStream (Destdir, Entry.getname ()), Bufferlen);
					Ioutils.copy (is, OS);
					finally {ioutils.closequietly (OS);
		Finally {ioutils.closequietly (IS)}}}
 }
	}
}

Apache Commons compress ar Packaging:

Package study.inkfish.compress;
Import Java.io.BufferedInputStream;
Import Java.io.BufferedOutputStream;
Import Java.io.File;
Import Java.io.FileInputStream;
Import Java.io.FileOutputStream;
Import java.io.IOException;
Import Java.io.InputStream;
Import Org.apache.commons.compress.archivers.ar.ArArchiveEntry;
Import Org.apache.commons.compress.archivers.ar.ArArchiveInputStream;
Import Org.apache.commons.compress.archivers.ar.ArArchiveOutputStream;
Import Org.apache.commons.io.IOUtils; public class Commonsarcompress extends Compress {@Override protected void docompress (file srcfile, file destfile) throw
		s IOException {Ararchiveoutputstream zout = null;
		InputStream is = null;
			try {is = new Bufferedinputstream (new FileInputStream (srcfile), Bufferlen);
			Zout = new Ararchiveoutputstream (new Bufferedoutputstream (New FileOutputStream (DestFile), Bufferlen));
			Zout.putarchiveentry (New Ararchiveentry (Srcfile, Srcfile.getname ()));
			Ioutils.copy (is, zout); Zout.closearchiveenTry ();
			Finally {ioutils.closequietly (IS);
		ioutils.closequietly (zout); } @Override protected void dodecompress (file srcfile, file Destdir) throws IOException {Ararchiveinputstream is =
		Null
			try {is = new Ararchiveinputstream (new Bufferedinputstream (New FileInputStream (srcfile), Bufferlen));
			Ararchiveentry entry = null; while ((entry = Is.getnextarentry ())!= null) {if (Entry.isdirectory ()) {file directory = new file (destdir, ENT
					Ry.getname ());
				Directory.mkdirs ();
					else {Bufferedoutputstream BOS = null;
						try {byte[] buffer = new Byte[bufferlen];
						BOS = new Bufferedoutputstream (new FileOutputStream (Destdir, Entry.getname ()), Bufferlen);
						int Len;
						Long size = Entry.getsize ();
								while (Size > 0) {if (size < Bufferlen) {len = is.read (buffer, 0, (int) size);
							size = Len;
								else {len = is.read (buffer);
							size = Len;
							}Bos.write (buffer, 0, Len);
					Finally {ioutils.closequietly (BOS);
		Finally {ioutils.closequietly (IS)}}}
 }
	}
}

Apache Commons compress Cpio packaged:

Package study.inkfish.compress;
Import Java.io.BufferedInputStream;
Import Java.io.BufferedOutputStream;
Import Java.io.File;
Import Java.io.FileInputStream;
Import Java.io.FileOutputStream;
Import java.io.IOException;
Import Java.io.InputStream;
Import Org.apache.commons.compress.archivers.cpio.CpioArchiveEntry;
Import Org.apache.commons.compress.archivers.cpio.CpioArchiveInputStream;
Import Org.apache.commons.compress.archivers.cpio.CpioArchiveOutputStream;
Import Org.apache.commons.io.IOUtils; public class Commonscpiocompress extends Compress {@Override protected void docompress (file srcfile, file destfile) thr
		oWS IOException {cpioarchiveoutputstream out = null;
		InputStream is = null;
			try {is = new Bufferedinputstream (new FileInputStream (srcfile), Bufferlen);
			out = new Cpioarchiveoutputstream (new Bufferedoutputstream (New FileOutputStream (DestFile), Bufferlen));
			Out.putarchiveentry (New Cpioarchiveentry (Srcfile, Srcfile.getname ()));
			Ioutils.copy (is, out); Out. Closearchiveentry ();
			Finally {ioutils.closequietly (IS);
		ioutils.closequietly (out); } @Override protected void dodecompress (file srcfile, file Destdir) throws IOException {Cpioarchiveinputstream is
		= NULL;
			try {is = new Cpioarchiveinputstream (new Bufferedinputstream (New FileInputStream (srcfile), Bufferlen));
			Cpioarchiveentry entry = null; while ((entry = Is.getnextcpioentry ())!= null) {if (Entry.isdirectory ()) {file directory = new file (Destdir, E
					Ntry.getname ());
				Directory.mkdirs ();
					else {Bufferedoutputstream BOS = null;
						try {byte[] buffer = new Byte[bufferlen];
						BOS = new Bufferedoutputstream (new FileOutputStream (Destdir, Entry.getname ()), Bufferlen);
						int Len;
						Long size = Entry.getsize ();
								while (Size > 0) {if (size < Bufferlen) {len = is.read (buffer, 0, (int) size);
							size = Len;
								else {len = is.read (buffer); Size = Len
						} bos.write (buffer, 0, Len);
					Finally {ioutils.closequietly (BOS);
		Finally {ioutils.closequietly (IS)}}}
 }
	}
}

Apache Commons Compress Tar Package
Package study.inkfish.compress;
Import Java.io.BufferedInputStream;
Import Java.io.BufferedOutputStream;
Import Java.io.File;
Import Java.io.FileInputStream;
Import Java.io.FileOutputStream;
Import java.io.IOException;
Import Java.io.InputStream;
Import Org.apache.commons.compress.archivers.tar.TarArchiveEntry;
Import Org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
Import Org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
Import Org.apache.commons.io.IOUtils; public class Commonstarcompress extends Compress {@Override protected void docompress (file srcfile, file destfile) thro
		WS IOException {tararchiveoutputstream out = null;
		InputStream is = null;
			try {is = new Bufferedinputstream (new FileInputStream (srcfile), Bufferlen);
			out = new Tararchiveoutputstream (new Bufferedoutputstream (New FileOutputStream (DestFile), Bufferlen));
			Tararchiveentry entry = new Tararchiveentry (Srcfile.getname ());
			Entry.setsize (Srcfile.length ()); Out.putarChiveentry (entry);
			Ioutils.copy (is, out);
		Out.closearchiveentry ();
			Finally {ioutils.closequietly (IS);
		ioutils.closequietly (out);  } @Override protected void dodecompress (file srcfile, file Destdir) throws IOException {Tararchiveinputstream is =
		Null
			try {is = new Tararchiveinputstream (new Bufferedinputstream (New FileInputStream (srcfile), Bufferlen));
			Tararchiveentry entry = null; while ((entry = Is.getnexttarentry ())!= null) {if (Entry.isdirectory ()) {file directory = new file (Destdir, en
					Try.getname ());
				Directory.mkdirs ();
					else {Bufferedoutputstream BOS = null;
						try {byte[] buffer = new Byte[bufferlen];
						BOS = new Bufferedoutputstream (new FileOutputStream (Destdir, Entry.getname ()), Bufferlen);
						int Len;
						Long size = Entry.getsize ();
								while (Size > 0) {if (size < Bufferlen) {len = is.read (buffer, 0, (int) size);
							size = Len; } else {
								Len = is.read (buffer);
							size = Len;
						} bos.write (buffer, 0, Len);
					Finally {ioutils.closequietly (BOS);
		Finally {ioutils.closequietly (IS)}}} }
	}
}



Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.