我试图在压缩后维护某些文件权限,但是,我注意到文件权限没有被保留。无论我做什么,解压缩文件的文件权限始终是 rw-r--r--。
我尝试了以下事情:
但是,在我的 bash_profile 中将 umask 设置为 0027,我注意到默认情况下,新创建的 zip 文件会为“0022”文件(即 rw-r--r--)创建权限。
我尝试使用模式 777 设置 AsiExtraField 并将其附加到 ZipArchiveEntry,但是,它似乎不会影响烫发。
ZipArchieveEntry 条目 = 新的 ZipArchieveEntry(文件名);AsiExtrafield temp = new AsiExtraField(); temp.setMode(777); entry.addAsFirstExtraField(temp); zipoutputstream.putNextEntry(entry);
- 对于 ZipEntries,我尝试将 UnixMode() 设置为 777,但是,解压缩的文件仍然具有 rw-r--r-- 的权限。
ZipEntry entry = new ZipEntry(filename); entry.setUnixMode(777); zipoutputstream.putNextEntry(entry);
- 最后,我在压缩之前明确设置了目标文件的文件权限,但是,文件权限不会被复制。
Runtime.getRuntime.exec("chmod 777" + file.getCanonicalPath()): ZipEntry entry = new ZipEntry(filename); zipoutputstream.putNextEntry(entry);
非常感谢帮助!