2009年2月4日 星期三

用java壓縮tar檔

package mytest;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.tools.tar.TarEntry;
import org.apache.tools.tar.TarOutputStream;

public class AntTarTest {

public static void main(String[] args) throws Exception {
String[] inputFiles = new String[] { "D:/txt/network.txt",
"D:/txt/sql.txt" };
new AntTarTest().tar("d:/AntTarTest.tar", inputFiles);
}

public void tar(String tarFileName, String[] inputFiles) throws IOException {
TarOutputStream out = new TarOutputStream(new FileOutputStream(
tarFileName));
int buffersize = 1024;
byte[] buf = new byte[buffersize];
for (int i = 0; i < inputFiles.length; i++) {
File file = new File(inputFiles[i]);
TarEntry te = new TarEntry(file.getName());
te.setSize(file.length());
out.putNextEntry(te);
FileInputStream in = new FileInputStream(file);
int count;
while ((count = in.read(buf, 0, buffersize)) != -1)
out.write(buf, 0, count);
out.closeEntry();
in.close();
}
out.close();
System.out.println("compress ok.");
}

}