ZIP 条目存储条目的完整路径名,因为(我确信下一部分)ZIP 存档不是按目录组织的。元数据包含有关文件应该如何存储(在目录内)的信息。
如果我在 Windows 中创建一个 ZIP 文件,当我在另一个操作系统中解压缩数据时,例如在 Mac OS X 中,文件结构与以前在 Windows 中相同。这是因为解压缩器旨在处理这个问题,还是因为 ZIP 中的文件分隔符是标准的?
我问这个是因为我试图使用压缩文件的名称在 ZIP 文件中查找条目。但是我应该使用哪个文件分隔符使其在 Windows 以外的系统中工作?
我正在使用 Java,ZipEntry
的 .getName()
方法为我提供了使用 Windows 文件分隔符 \
的路径>。如果我使用 java File.separator
分隔符使其在另一个操作系统上工作就足够了吗?还是我必须尝试使用每个可能的分隔符查找我的文件?
荣誉正确答案提及
@Eren Yilmaz 给出的答案正确描述了许多工具(甚至是您可以自己编码的工具)的功能。但鉴于 .zip 标准清楚地记录了它必须如何,因此必须更新正确答案
最佳答案
4.4.17.1 The name of the file, with optional relative path. The path stored MUST not contain a drive or device letter, or a leading slash. All slashes MUST be forward slashes '/' as opposed to backwards slashes '\' for compatibility with Amiga and UNIX file systems etc. If input came from standard input, there is no file name field.
关于java - ZipEntry 的路径名称的文件分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13846000/