finder – macOS如何在ZIP文件中存储Unix文件权限

我正在尝试使用Finder的内置存档功能在Java中提取Java文件.由于ZIP文件包含应用程序包,因此保留Unix文件权限(尤其是可执行标志)非常重要.

使用Finder提取ZIP文件时,将保留权限.所以我知道它们存放在那里的某个地方.

现在我的问题是:macOS如何在ZIP文件中存储Unix文件权限?不幸的是我在网上找不到任何关于此的信息.

解决方法:

权限的存储方式与其他Unixoid系统上的权限相同,例如Linux.

如果查看zip文件中的*目录标题,则对于存储在Zip文件中的每个文件都有一个名为“外部文件属性”的字段.该字段位于标题中的字节36处,长度为4个字节.

该字段中的最后两个字节包含macOS上的文件权限 – 准确地说,它是最后9位(最低有效9位).它们的含义就像传统的Unix文件权限一样.

上一篇:新特性速递 | InnoDB redo log archiving(归档) �


下一篇:WPF编程小技巧随笔