Java tar.gz压缩-权限问题

Java tar.gz压缩-权限问题,java,apache-commons,Java,Apache Commons,我对Java有意见。我想知道使用ApacheCommonsCompress或者是否有更好的方法,是否有一种不用解压缩tar.gz就可以编辑文件的方法。我遇到的是tar.gz目录,文件具有root所有权和组状态,以及特定的rwxrwx权限,当我解压缩和重新压缩时,这些权限将被删除。当我在Windows计算机上运行程序时,该文件是unix文件 我试图找到一种方法,在java中解压,而不丢失最初的权限,或编辑其中的文件。在正确的方向上提供任何帮助都将不胜感激,因为我对如何使用Java有点茫然 任何帮助

我对Java有意见。我想知道使用ApacheCommonsCompress或者是否有更好的方法,是否有一种不用解压缩tar.gz就可以编辑文件的方法。我遇到的是tar.gz目录,文件具有root所有权和组状态,以及特定的rwxrwx权限,当我解压缩和重新压缩时,这些权限将被删除。当我在Windows计算机上运行程序时,该文件是unix文件

我试图找到一种方法,在java中解压,而不丢失最初的权限,或编辑其中的文件。在正确的方向上提供任何帮助都将不胜感激,因为我对如何使用Java有点茫然


任何帮助都将不胜感激!谢谢。

权限是特定于操作系统的。但是,您可以尝试java.io.File类,该类允许您设置权限:


想法是将权限存储在某个地方,提取文件,做任何事情,再次压缩并应用权限。

如果您专门寻找tar.gz而不仅仅是zip,那么您可以使用


您可以使用以下命令设置各个标志:

是的,我刚刚意识到我使用的setMode不正确,这是我问题的一部分。有没有办法在tar.gz中重新应用用户和组?我相信tar.gz在上传时需要root访问。到目前为止,我已经在每个文件上尝试了setUserId0,我相信它是root和getuserId0,但它似乎不起作用。你可以在那里设置用户和设置组:谢谢Alexandre的帮助。。。我用的是塔拉奇文垂。出于某种原因,我没有使用正确的方法来设置组和用户。我是用ID做的,因为我要从Linux到Windows,它可能不喜欢。仍然没有解决我的问题,但我会继续寻找。我基本上是在尝试un-tar.gz一个配置文件,然后重新-tar.gz它,这样一个设备就会接受它,我会得到无效的配置错误。