当前位置:  开发笔记 > 编程语言 > 正文

通过Java生成tar文件

如何解决《通过Java生成tar文件》经验,为你挑选了3个好方法。

我想使用Java将文件夹压缩为tar文件(以编程方式).我认为必须有一个开源或库来实现它.但是,我找不到这样的方法.

或者,我可以制作一个zip文件并将其扩展名重命名为.tar吗?

有人可以建议图书馆这样做吗?谢谢!



1> nicholas.hau..:

我会看看Apache Commons Compress.

这个示例页面有一个示例,它显示了一个tar示例.

TarArchiveEntry entry = new TarArchiveEntry(name);
entry.setSize(size);
tarOutput.putArchiveEntry(entry);
tarOutput.write(contentOfEntry);
tarOutput.closeArchiveEntry();



2> Marcelo..:

您可以使用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();



3> tskuzzy..:

.tar存档文件未压缩.你必须像gzip一样对它运行文件压缩并将其转换成类似的东西.tar.gz.

如果您只想归档目录,请查看:

http://www.trustice.com/java/tar/

http://code.google.com/p/jtar/

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有