JAVA解压tar,可以使用javatar

简介: JAVA解压tar,可以使用javatar

具体使用的jar包,可就下载。


代码如下:


/**
     * 解压缩tar文件
     * @param file 压缩包文件
     * @param targetPath 目标文件夹
     * @param delete 解压后是否删除原压缩包文件
     */
    private static void decompressTar(File file, String targetPath, boolean delete){
        FileInputStream fis = null;
        OutputStream fos = null;
        TarInputStream tarInputStream = null;
        try {
            fis = new FileInputStream(file);
            tarInputStream = new TarInputStream(fis, 1024 * 2);
            // 创建输出目录
            createDirectory(targetPath, null);
            TarEntry entry = null;
            while(true){
                entry = tarInputStream.getNextEntry();
                if( entry == null){
                    break;
                }
                if(entry.isDirectory()){
                    createDirectory(targetPath, entry.getName()); // 创建子目录
                }else{
                    fos = new FileOutputStream(new File(targetPath + File.separator + entry.getName()));
                    int count;
                    byte data[] = new byte[2048];
                    while ((count = tarInputStream.read(data)) != -1) {
                        fos.write(data, 0, count);
                    }
                    fos.flush();
                }
            }
        } catch (IOException e) {
           e.printStackTrace();
        }finally {
            try {
                if(fis != null){
                    fis.close();
                }
                if(fos != null){
                    fos.close();
                }
                if(tarInputStream != null){
                    tarInputStream.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }


目录
相关文章
|
4月前
|
Java 关系型数据库 Linux
Linux|Java|jar包的解压和重新打包(更新配置)
Linux|Java|jar包的解压和重新打包(更新配置)
72 0
|
5月前
|
Java
java 读取文件 获取byte[]字节 并执行Gzip的压缩和解压
java 读取文件 获取byte[]字节 并执行Gzip的压缩和解压
49 0
|
11月前
|
Java
java 实现zip 压缩 解压 (目录控制)
java 实现zip 压缩 解压 (目录控制)
267 0
|
Java
Java解压zip到指定文件夹
Java解压zip到指定文件夹
351 0
Java解压zip到指定文件夹
|
Java 开发者
Java操作文件的日常总结(文件压缩,文件解压,递归删除文件,文件的下载保存)
文件的读写是日常开发中经常碰到的需求,熟练掌握文件的读写是每个Java开发者的基本功。本文将主要介绍常见的文件读写操作。 之前写过一篇Java IO的文章 Java IO基础(同步阻塞IO)。
244 0
|
Java
JAVA解压Zip格式文件的代码
JAVA解压Zip格式文件的代码
99 0
|
Java Apache
JAVA压缩、解压,使用Apache Common Compress包下载链接
JAVA压缩、解压,使用Apache Common Compress包下载链接
171 0
|
Java
Java哈夫曼编码实现压缩与解压
哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。
337 0
|
Java 数据安全/隐私保护
java解压加密的7z格式文件
java解压加密的7z格式文件
757 0
java解压加密的7z格式文件
Java无需解压直接读取Zip文件和文件内容
package test; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.
1285 0