Java 将文本文件打包成tar包

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一、打包程序:

说明:需要额外(Java环境安装好的情况下)使用到的jar包,下载地址:

http://mvnrepository.com/artifact/org.xeustechnologies/jtar/1.1

package filetotar;

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 org.xeustechnologies.jtar.TarEntry;
import org.xeustechnologies.jtar.TarOutputStream;

public class FileToTar {
    //把文件打包成tar包
    public void toCompress(String sourceFilePath,String tarFilrPath) {  
        FileOutputStream dest;  
        TarOutputStream tarOut;  
        try {  
            //设置tar包位置
            dest = new FileOutputStream(tarFilrPath);  
            tarOut = new TarOutputStream(new BufferedOutputStream(dest));
            //设置待打包源文件的位置
            File sourceFile = new File(sourceFilePath); 
            File[] sourceFiles = sourceFile.listFiles();
            for (File f : sourceFiles) {  
                tarOut.putNextEntry(new TarEntry(f, f.getName()));  
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(f));  
                int count;  
                byte data[] = new byte[2048];  
                while ((count = bis.read(data)) != -1) {  
                    tarOut.write(data, 0, count);  
                }  
                tarOut.flush();  
                bis.close();  
            }  
            tarOut.close();  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }

}
 

二、测试:

package filetotar;

public class TestTarMain {
    public static void main(String[] args) {
        FileToTar fileToTar = new FileToTar();
        //D://test//zipRes//0001 这个目录下面就是待压缩的文本文件,这是我当前这个压缩程序这样写的,如果有需要可以根据自己的需要进行修改
        String sourceFilePath="D://test//zipRes//0001";
        //指定打成的tar包的名称和tar包存放的位置
        String tarFilrPath="D://test//zipRes//res//test.tar";
        fileToTar.toCompress(sourceFilePath, tarFilrPath);
        System.out.println("压缩完成...");
    }

}
 

测试结果:

 

转载于:https://my.oschina.net/u/3197158/blog/911103

你可能感兴趣的:(Java 将文本文件打包成tar包)