Windows – 我试图创build一个新的Tar文件与JTar lib与下面内…
MyTarFile.tar--| |--MyFolder--| |--MyFile.zip
我可以在MyTarFile的根目录下创build文件夹和zip文件,但是我不知道如何创build该文件夹并且在里面有zip文件。 我需要知道为TarEntry使用什么(File对象)(它是一个文件夹和一个文件…或一个两个?)和什么InputStream应该看起来像(我相信只是一个单一的压缩文件,但不知道)。 我试图创build一个文件来模仿现有的格式,所以我没有select只是丢失该文件夹,因为使用该文件的软件将寻找它。 我可以将zip文件添加到实际文件系统上的MyFolder文件夹(再次,这是在Windows上),然后再进行tar或不…任何作品都可以。
我已经尝试完整path和相对path(似乎InputStream必须有一个完整的path,虽然),没有运气。 除了切换库之外的其他想法(也许JTar不支持这个)。
谢谢!
没有看到你已经写了什么,这是我最好的回答。 我不熟悉JTar,但是在看了一下主页上的例子之后,我写了一个快速测试程序,它创建了一个tar文件,一个文件位于tar的根目录,一个文件位于tar目录下,相信是你正在尝试做的事情。 你感兴趣的代码是这样的:
TarEntry tarEntry = new TarEntry(new File("/Users/userGuy/Documents/students.xml"),"students.xml"); TarEntry otherTarEntry = new TarEntry(new File("/Users/userGuy/Documents/students2.xml"),"inner-dir/students2.xml");
请注意,第二个tar条目entryName
在TarEntry
构造函数中使用相对路径作为entryName
参数进行实例化。 这是一个不好的参数,因为它在技术上是tar中文件的路径, 而不仅仅是名称。
用上面的示例文件名,你的代码可能看起来像这样:
TarEntry tarEntry = new TarEntry(new File("<path to file>"),"MyFolder/MyFile.zip");