package com.leimingtech.service.utils.transactionUtil;
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;
/**
* 将文件压缩成tar包
* @author langjf
*
*/
public class FileToTar {
public static void toCompress(String dirPath,String tarPath) {
FileOutputStream dest;
TarOutputStream out;
try {
dest = new FileOutputStream(tarPath);
out = new TarOutputStream(new BufferedOutputStream(dest));
File dis=new File(dirPath);
if(dis.isDirectory()){
File[] files= dis.listFiles();
if(files.length>0){
for (File f : files) {
out.putNextEntry(new TarEntry(f, f.getName()));
BufferedInputStream origin = new BufferedInputStream(new FileInputStream(f));
int count;
byte data[] = new byte[2048];
while ((count = origin.read(data)) != -1) {
out.write(data, 0, count);
}
out.flush();
origin.close();
}
}
}
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
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;
/**
* 将文件压缩成tar包
* @author langjf
*
*/
public class FileToTar {
public static void toCompress(String dirPath,String tarPath) {
FileOutputStream dest;
TarOutputStream out;
try {
dest = new FileOutputStream(tarPath);
out = new TarOutputStream(new BufferedOutputStream(dest));
File dis=new File(dirPath);
if(dis.isDirectory()){
File[] files= dis.listFiles();
if(files.length>0){
for (File f : files) {
out.putNextEntry(new TarEntry(f, f.getName()));
BufferedInputStream origin = new BufferedInputStream(new FileInputStream(f));
int count;
byte data[] = new byte[2048];
while ((count = origin.read(data)) != -1) {
out.write(data, 0, count);
}
out.flush();
origin.close();
}
}
}
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}