java解压gz文件
http://panshaobinsb.iteye.com/blog/1566231
下面是网上的代码
http://www.iteye.com/topic/894879
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.zip.GZIPOutputStream;
- public class CompressFileGZIP {
- private static void doCompressFile(String inFileName) {
- try {
- System.out.println("Creating the GZIP output stream.");
- String outFileName = inFileName + ".gz";
- GZIPOutputStream out = null;
- try {
- out = new GZIPOutputStream(new FileOutputStream(outFileName));
- } catch(FileNotFoundException e) {
- System.err.println("Could not create file: " + outFileName);
- System.exit(1);
- }
- System.out.println("Opening the input file.");
- FileInputStream in = null;
- try {
- in = new FileInputStream(inFileName);
- } catch (FileNotFoundException e) {
- System.err.println("File not found. " + inFileName);
- System.exit(1);
- }
- System.out.println("Transfering bytes from input file to GZIP Format.");
- byte[] buf = new byte[1024];
- int len;
- while((len = in.read(buf)) > 0) {
- out.write(buf, 0, len);
- }
- in.close();
- System.out.println("Completing the GZIP file");
- out.finish();
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
- /**
- * Sole entry point to the class and application.
- * @param args Array of String arguments.
- */
- public static void main(String[] args) {
- String str="E:\\AUTORUN.INF";
- doCompressFile(str);
- }
- }
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream; public class CompressFileGZIP {
private static void doCompressFile(String inFileName) { try { System.out.println("Creating the GZIP output stream."); String outFileName = inFileName + ".gz"; GZIPOutputStream out = null; try { out = new GZIPOutputStream(new FileOutputStream(outFileName)); } catch(FileNotFoundException e) { System.err.println("Could not create file: " + outFileName); System.exit(1); } System.out.println("Opening the input file."); FileInputStream in = null; try { in = new FileInputStream(inFileName); } catch (FileNotFoundException e) { System.err.println("File not found. " + inFileName); System.exit(1); } System.out.println("Transfering bytes from input file to GZIP Format."); byte[] buf = new byte[1024]; int len; while((len = in.read(buf)) > 0) { out.write(buf, 0, len); } in.close(); System.out.println("Completing the GZIP file"); out.finish(); out.close(); } catch (IOException e) { e.printStackTrace(); System.exit(1); } } /** * Sole entry point to the class and application. * @param args Array of String arguments. */ public static void main(String[] args) { String str="E:\\AUTORUN.INF"; doCompressFile(str); }
}
---------------------------------------------------------------------------------------------------------------------------
- import java.util.zip.GZIPInputStream;
- import java.io.FileOutputStream;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- public class UncompressFileGZIP {
- /**
- * Uncompress the incoming file.
- * @param inFileName Name of the file to be uncompressed
- */
- private static void doUncompressFile(String inFileName) {
- try {
- if (!getExtension(inFileName).equalsIgnoreCase("gz")) {
- System.err.println("File name must have extension of \".gz\"");
- System.exit(1);
- }
- System.out.println("Opening the compressed file.");
- GZIPInputStream in = null;
- try {
- in = new GZIPInputStream(new FileInputStream(inFileName));
- } catch(FileNotFoundException e) {
- System.err.println("File not found. " + inFileName);
- System.exit(1);
- }
- System.out.println("Open the output file.");
- String outFileName = getFileName(inFileName);
- FileOutputStream out = null;
- try {
- out = new FileOutputStream(outFileName);
- } catch (FileNotFoundException e) {
- System.err.println("Could not write to file. " + outFileName);
- System.exit(1);
- }
- System.out.println("Transfering bytes from compressed file to the output file.");
- byte[] buf = new byte[1024];
- int len;
- while((len = in.read(buf)) > 0) {
- out.write(buf, 0, len);
- }
- System.out.println("Closing the file and stream");
- in.close();
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
- /**
- * Used to extract and return the extension of a given file.
- * @param f Incoming file to get the extension of
- * @return
Stringrepresenting the extension of the incoming - * file.
- */
- public static String getExtension(String f) {
- String ext = "";
- int i = f.lastIndexOf('.');
- if (i > 0 && i < f.length() - 1) {
- ext = f.substring(i+1);
- }
- return ext;
- }
- /**
- * Used to extract the filename without its extension.
- * @param f Incoming file to get the filename
- * @return
Stringrepresenting the filename without its - * extension.
- */
- public static String getFileName(String f) {
- String fname = "";
- int i = f.lastIndexOf('.');
- if (i > 0 && i < f.length() - 1) {
- fname = f.substring(0,i);
- }
- return fname;
- }
- /**
- * Sole entry point to the class and application.
- * @param args Array of String arguments.
- */
- public static void main(String[] args) {
- doUncompressFile("E:\\AUTORUN.INF.gz");
- }
- }
http://blog.csdn.net/hwq1987/article/details/6279130
在解压gz文件时,如果直接用java.util.zip.GZIPInputStream来处理问题只能解压很少一部分内容,通过类MultiMemberGZIPInputStream 可以完全解压一个gz文件。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
