JAVA 解压tar.gz格式文件
,亲测有效,因为tar.gz 是多用于Linux 系统下的压缩方式,而且是有两层加压,先把文件压缩成tar包,再把tar文件 压缩成gz 格式,网上相关的资料和方法都很少,更多地都是一些linux系统下面的命令,效率待提高 ,但可用
解压方法:
package unjargz.core.data;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPInputStream;
import org.apache.commons.compress.archivers.ArchiveException;
import org.apache.commons.compress.archivers.ArchiveInputStream;
import org.apache.commons.compress.archivers.ArchiveStreamFactory;
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
public class Unjar {
}
主函数:
package unjargz.core.data;
import java.io.File;
public class properties {
@SuppressWarnings("static-access")
public static void main(String[] args) throws Exception {
String path = "d:\\HW_20161217.tar.gz";
String pt=path.substring(3,5);
String year=path.substring(6,10);
String month=path.substring(10,12);
String day=path.substring(12,14);
System.out.println(pt);
System.out.println(year);
System.out.println(month);
System.out.println(day);
String untargzpath = "d:\"+pt+"\"+year+"\"+month+"\"+day+"\";
File
file = new File(untargzpath);
if(!file.exists())
file.mkdirs();
Unjar unjar = new Unjar(path);
unjar.unTargzFile(path, untargzpath);
}
}