通过 Java 制作 tar 文件
2022-09-01 18:14:44
我想使用Java将文件夹压缩为tar文件(以编程方式)。我认为必须有一个开源或图书馆来做到这一点。但是,我找不到这样的方法。
或者,我是否可以制作一个zip文件并将其扩展名称重命名为.tar?
任何人都可以建议一个图书馆来做这件事吗?谢谢!
我想使用Java将文件夹压缩为tar文件(以编程方式)。我认为必须有一个开源或图书馆来做到这一点。但是,我找不到这样的方法。
或者,我是否可以制作一个zip文件并将其扩展名称重命名为.tar?
任何人都可以建议一个图书馆来做这件事吗?谢谢!
在此示例页面的中间有一个示例,它展示了一个 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();