GZ文件输出到TXT,ZIP,GZ文件

来源:互联网 发布:linux vim怎样退出 编辑:程序博客网 时间:2024/06/07 00:43
package com.cn.boco.csv;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;


/**
 *@author  fangyitao
 *@date  2017年2月27日
 *@time  上午9:41:56 
 *@description  GZ文件输出到TXT,ZIP,GZ文件
 *@return
 */
public class demo1 {
public static void main(String[] args) {

//源文件(.gz文件)
File file = new File("C:\\Users\\fangyitao\\Desktop\\实习生练习任务\\csv文件\\MRO_RSRP_merge_2016080219_127.0.0.1_HW.csv.gz");
//目标文件夹(用来存放输出的文件)
File targetFile = new File("C:\\Users\\fangyitao\\Desktop\\实习生练习任务\\csv文件\\test");

GZIPInputStream gzis = doDecompressed(file);

//(下列三个需逐一运行)
//输出到txt文件
//gzToTxt(gzis,file, targetFile);

//输出到zip文件
//gzToZip(gzis,file, targetFile);

//输出到gz文件
//gzToGz(gzis,file, targetFile);

}

//解压GZ文件输出文本格式
public static void gzToTxt(GZIPInputStream gzis,File file,File targetFile){
try {
//建立文件输出流
FileOutputStream out = new FileOutputStream(targetFile+".txt");

int num;
byte[]  by = new byte[1024];

while((num =gzis.read(by,0,by.length))!= -1){
//System.out.println();
out.write(by,0,num);
}

//关闭流
out.close();
gzis.close();

System.out.println("输出文本格式完成");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{



return ;

}

//解压GZ文件输出zip格式
public static void gzToZip(GZIPInputStream gzis,File file,File targetFile){
try {

//建立文件zip输出流
ZipOutputStream  zout = new ZipOutputStream(new FileOutputStream(targetFile+".zip",false));
ZipEntry entry = new ZipEntry(file.getName().substring(0, file.getName().lastIndexOf(".")));
zout.putNextEntry(entry);
int num;
byte[]  by = new byte[1024];
while((num = gzis.read(by,0,by.length))!= -1){

zout.write(by,0,num);

}
zout.close();
gzis.close();
System.out.println("输出zip格式完成");
} catch (Exception e) {
// TODO: handle exception
}
return;
}

//解压GZ文件输出GZ文件
public static void gzToGz(GZIPInputStream gzis,File file,File targetFile){
try {
//建立gz文件输出流
GZIPOutputStream gzos = new GZIPOutputStream(new FileOutputStream(targetFile + ".csv.gz", false));
int num;
byte[]  by = new byte[1024];
while((num = gzis.read(by,0,by.length))!= -1){
gzos.write(by,0,num);
}
gzos.close();
gzis.close();
System.out.println("输出GZ格式完成");
} catch (Exception e) {
// TODO: handle exception
}
return;
}

//将文件的输入流和解压流进行封装
public static GZIPInputStream doDecompressed(File file){
FileInputStream in = null;
GZIPInputStream  gzis = null;
try {
//建立文件输入流
in = new FileInputStream(file);

//建立文件解压流
gzis = new GZIPInputStream(in);

} catch (Exception e) {
// TODO: handle exception
}
return gzis;
}
}
0 0
原创粉丝点击