0

这可能是一个显而易见的问题,但我似乎找不到答案。

我们正在使用 TrueZip 7.7.1 并创建 ZipFile 实例来读取 ZIP 档案。从 ZipFile 获取条目或输入流时,我们必须指定条目名称,其中可能包含创建它的文件系统的路径分隔符。当前的实现是幼稚的,并使用 JVM 提供的 File.separator,但如果存档是在具有不同分隔符的文件系统上创建的,则该方法不起作用。

似乎有某种方法可以使用 TPath 来执行此操作,因为它显然可以在任一平台上使用 File.separator 或“/”。

使用 TrueZip 7.7.1 在独立于平台的庄园中阅读 ZIP 档案的最佳方式是什么?

4

1 回答 1

3

根据 ZIP 文件格式规范(链接),所有路径都应使用“/”存储(因此与平台无关):

4.4.17.1 文件名,带有可选的相对路径。存储的路径不得包含驱动器或设备号,或前导斜杠。所有斜杠必须是正斜杠“/”而不是反斜杠“\”,以便与 Amiga 和 UNIX 文件系统等兼容。如果输入来自标准输入,则没有文件名字段。

因此,如果您只是遵守此约定,则根本不必担心您正在运行的平台。

于 2014-11-12T03:36:48.717 回答