gpt4 book ai didi

Java & JTar - 如何使用 JTar 在文件夹中添加文件?

转载 作者:可可西里 更新时间:2023-11-01 11:57:32 25 4
gpt4 key购买 nike

Windows - 我正在尝试使用 JTar 库创建一个新的 Tar 文件,其中包含以下内容...

MyTarFile.tar--|
|--MyFolder--|
|--MyFile.zip

我可以使用 MyTarFile 根目录中的文件夹和 zip 文件来创建它,但我不知道(我环顾四周)如何创建该文件夹并在其中包含 zip 文件。我需要知道 TarEntry(s) 使用什么(文件对象)(它是一个用于文件夹,一个用于文件......还是两者都使用一个?)以及 InputStream 应该是什么样子(我相信zip 文件只有一个,但不确定)。我正在尝试创建一个文件来模仿现有格式,因此我无法选择仅丢失该文件夹,因为使用该文件的软件将寻找它。我可以在压缩或不压缩之前将 zip 文件添加到实际文件系统(同样,这是在 Windows 上)上的 MyFolder 文件夹中......无论做什么都可以。

我已经尝试了完整路径和相对路径(似乎 InputStream 必须有完整路径)但没有成功。除了切换库之外没有其他想法(可能 JTar 不支持这个)。

谢谢!

最佳答案

在没有看到您已经写过的内容的情况下,这是我最好的回答尝试。我不熟悉 JTar,但在看了他们主要的例子之后 page ,我写了一个快速测试程序,它创建了一个 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 条目 otherTarEntry 是使用相对路径作为 TarEntry 构造函数中的 entryName 参数实例化的。这是一个命名不当的参数,因为它在技术上是 tar 中文件的路径,而不仅仅是名称。

使用上面的示例文件名,您的代码可能如下所示:

TarEntry tarEntry = new TarEntry(new File("<path to file>"),"MyFolder/MyFile.zip");

关于Java & JTar - 如何使用 JTar 在文件夹中添加文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13829225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com