Java 读写GZIP格式文件
来源:互联网 发布:java绝对路径 编辑:程序博客网 时间:2024/04/30 09:13
最近的工作中需要使用GZIP格式压缩文本以缩减文件大小,于是乎接触到了GZIPInputStream/GZIPOutputStream这两个类,还有ByteArrayOutputStream这个类。这里写了一个简单的示例代码记录一下,以备不时之需。
package com.ricky.java.test.junit;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.zip.GZIPInputStream;import java.util.zip.GZIPOutputStream;public class GZipFileTest {private static final int BUFFER_SIZE = 1024;/** * @param args */public static void main(String[] args) {File inputFile = new File("D:/test/input.txt");File outputFile = new File("D:/test/test.dat");writeGZip(inputFile,outputFile);readGZip(outputFile);}public static void readGZip(File file) {GZIPInputStream gzipInputStream = null;ByteArrayOutputStream baos = null;try {gzipInputStream = new GZIPInputStream(new FileInputStream(file));baos = new ByteArrayOutputStream();byte[] buf = new byte[BUFFER_SIZE];int len = 0;while((len=gzipInputStream.read(buf, 0, BUFFER_SIZE))!=-1){baos.write(buf, 0, len);}baos.toByteArray();String result = baos.toString("UTF-8");System.out.println("result="+result);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{if(gzipInputStream!=null){try {gzipInputStream.close();} catch (IOException e) {e.printStackTrace();}}if(baos!=null){try {baos.close();} catch (IOException e) {e.printStackTrace();}}}}public static void writeGZip(File inputFile, File outputFile) {GZIPOutputStream gzipOutputStream = null;InputStream in = null;try {gzipOutputStream = new GZIPOutputStream(new FileOutputStream(outputFile));in = new FileInputStream(inputFile);byte[] buffer = new byte[BUFFER_SIZE];int len = 0;while ((len = in.read(buffer,0,BUFFER_SIZE)) > 0) {gzipOutputStream.write(buffer, 0, len);}gzipOutputStream.finish();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{if(gzipOutputStream!=null){try {gzipOutputStream.close();} catch (IOException e) {e.printStackTrace();}}if(in!=null){try {in.close();} catch (IOException e) {e.printStackTrace();}}}}}
0 0
- Java 读写GZIP格式文件
- Java 读写GZIP格式文件
- Java gzip文件读写
- Java读写CSV格式文件(opencsv)
- Android Java 如何读写CSV格式文件
- Java读写CSV格式文件(opencsv)
- Java读写CSV格式文件(opencsv)
- Java读写CSV格式文件(opencsv)
- Java读写CSV格式文件(opencsv)
- Java:读写CSV格式文件(opencsv)
- Java读写CSV格式文件(opencsv)
- Java读写CSV格式文件(opencsv)
- 解压gzip格式文件(包括网页)
- Java生成自己的软件才能读写的独特格式文件
- python 读写csv格式文件
- Python读写json格式文件
- Matlab读写TIFF格式文件
- Python读写csv格式文件
- jsoup 403 错误原因 及 总结
- 朝代歌
- window.open以post方式提交
- shell 读取用户输入
- Android静默安装、卸载,应用程序/预装程序
- Java 读写GZIP格式文件
- 判断一字符串是不是对称的
- Scala 中的 apply 和 update 方法
- 文件系统名词记忆
- 记录2--u-boot 1.1.6 start.S
- quartz集成spring下的集群配置
- 简述301重定向的优势
- 你在为谁打工呢?
- 输入多组字符串 方法getline()与vector