package com.ovt.pm.report.util;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.apache.tools.tar.TarEntry;
import org.apache.tools.tar.TarInputStream;
/**
* <p>Title: 文件传输系统</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: sihitech.com.cn</p>
* @author wujh
* @version 1.0
*/
public class UnZipOrTarUtil {
public static void main(String[] args){
// JarEntry jar;
// String outputDirectory="d:/dd/";
// String myFileName="d:/dbIcrm20260104.jar";
// try{
// FileOutputStream out;
// JarInputStream jarIn = new JarInputStream(new FileInputStream(myFileName));
// while((jar=jarIn.getNextJarEntry())!=null){
// String name = jar.getName();
// if(jar.isDirectory()){
// name = name.substring(0,name.length()-1);
// File file = new File(outputDirectory + name);
// file.mkdir();
// }else{
// System.out.println("index:"+name.lastIndexOf("/"));
// if(name.lastIndexOf("/") != -1){
// String fname=outputDirectory + jar.getName().substring(0,jar.getName().lastIndexOf("/"));
// File dt=new File(fname);
// if(!dt.exists()){
// dt.mkdirs();
// }
// }
// File file=new File(outputDirectory + jar.getName());
// file.createNewFile();
// out = new FileOutputStream(file);
// int b;
// while((b=jarIn.read())!=-1){
// out.write(b);
// }
// }
// }
// }catch(IOException ex){
// ex.printStackTrace();
// }
extTarFileList("D:/hwz/test/test.tar","D:/hwz/test/lo/");
}
//2、tar包的解压(需要下载相应的包javatar-2.5.zip)
/**
* tar包的解压
* @param filename
* @param directory
*/
public static void extTarFileList(String filename, String directory) {
OutputStream out = null;
try {
TarInputStream in = new TarInputStream(new FileInputStream(new File(filename)));
TarEntry entry = null;
while((entry = in.getNextEntry()) != null) {
if(entry.isDirectory()) {
continue;
}
System.out.println(entry.getName());
File outfile = new File(directory+entry.getName());
new File(outfile.getParent()).mkdirs();
out = new BufferedOutputStream(new FileOutputStream(outfile));
int x = 0;
while((x=in.read())!=-1){
out.write(x);
}
out.close();
}
in.close();
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
}
Java压缩及解压tar、tar.z格式文件
1星 需积分: 50 84 浏览量
2016-08-20
11:05:27
上传
评论
收藏 1.17MB ZIP 举报
huangwz001
- 粉丝: 1
- 资源: 21
最新资源
- MMDF1N05ER2G-VB一款SOP8封装2个N-Channel场效应MOS管
- zipkin-server-3.3.0-exec.jar
- MI9933-VB一款SOP8封装2个P-Channel场效应MOS管
- zipkin-server-2.24.4-exec.jar
- MI4953-VB一款SOP8封装2个P-Channel场效应MOS管
- 基于Akka模拟实现Spark Standalone.pdf
- MI4946-VB一款SOP8封装2个N-Channel场效应MOS管
- 毕业答辩模板(动态模板)苹果IOS星空通用论文答辩模板
- 有效cookie值获取方式汇总
- 基于python实现的英雄联盟知识图谱问答系统源码(期末大作业).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈