我想使用Java将文件夹压缩为tar文件(以编程方式).我认为必须有一个开源或库来实现它.但是,我找不到这样的方法.
或者,我可以制作一个zip文件并将其扩展名重命名为.tar吗?
有人可以建议图书馆这样做吗?谢谢!
我会看看Apache Commons Compress.
这个示例页面有一个示例,它显示了一个tar示例.
TarArchiveEntry entry = new TarArchiveEntry(name); entry.setSize(size); tarOutput.putArchiveEntry(entry); tarOutput.write(contentOfEntry); tarOutput.closeArchiveEntry();
您可以使用jtar - Java Tar库.
取自他们的网站:
JTar是一个简单的Java Tar库,它提供了一种使用IO流创建和读取tar文件的简便方法.API使用起来非常简单,与java.util.zip包类似.
一个例子,也来自他们的网站:
// Output file stream FileOutputStream dest = new FileOutputStream( "c:/test/test.tar" ); // Create a TarOutputStream TarOutputStream out = new TarOutputStream( new BufferedOutputStream( dest ) ); // Files to tar File[] filesToTar=new File[2]; filesToTar[0]=new File("c:/test/myfile1.txt"); filesToTar[1]=new File("c:/test/myfile2.txt"); for(File f:filesToTar){ 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();
.tar
存档文件未压缩.你必须像gzip一样对它运行文件压缩并将其转换成类似的东西.tar.gz
.
如果您只想归档目录,请查看:
http://www.trustice.com/java/tar/
http://code.google.com/p/jtar/