独立于平台的方式,使用TrueZip读取ZIP存档

时间:2014-11-12 00:29:56

标签: java truezip

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

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

似乎有一些方法可以使用TPath,因为它显然可以使用File.separator或" /"在任何一个平台上。

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

1 个答案:

答案 0 :(得分:3)

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

  

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

因此,如果你坚持这个惯例,你根本不必担心你正在运行的平台。