一、打包程序:
说明:需要额外(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("压缩完成...");
}
}
测试结果: