【问题标题】:Platform independent way to read ZIP archives with TrueZip使用 TrueZip 读取 ZIP 档案的独立于平台的方式
【发布时间】:2014-11-12 00:29:56
【问题描述】:

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

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

似乎有某种方法可以使用 TPath 来做到这一点,因为它显然可以在任一平台上使用 File.separator 或“/”。

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

【问题讨论】:

    标签: java truezip


    【解决方案1】:

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

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    相关资源
    最近更新 更多