gpt4 book ai didi

java - 使用 JDK 5 api 从 zip 文件中提取时维护文件权限

转载 作者:太空宇宙 更新时间:2023-11-04 11:55:59 24 4
gpt4 key购买 nike

我正在使用 java.util.Zip 和 java.util.ZipEntry 成功地将 zip 文件的内容添加到磁盘。我想在 *nix 文件系统上提取时保留文件权限集。

有人能指出我“正确”的方法吗?

最佳答案

我认为正确保留权限实际上是不可能的。

权限与操作系统非常相关:虽然 POSIX 文件权限允许用户设置是否可以为文件所有者、组和其他人读取、写入或执行文件,但 NTFS 文件系统具有类似的系统,但不存在执行权限的概念。而早期的FAT/FAT32文件系统,根本没有文件权限(部分来自只读属性)。

由于是跨平台的,java 很难根据底层操作系统对新创建(解压)的文件正确设置权限......

也就是说,Java 6 有一个新的 java.io.File class允许您设置权限(使用 setExecutable()、setReadable() 等方法)

这些对我帮助很大,尤其是 setExecutable(),这是我在 Linux 文件系统上解压缩可执行文件时主要关心的问题。而且您不必费心去弄清楚您正在运行的操作系统,因为如果在 Windows 或其他没有可执行文件概念的系统下运行,该方法将不会执行任何操作。

关于java - 使用 JDK 5 api 从 zip 文件中提取时维护文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41392073/

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