这可能是一个显而易见的问题,但我似乎找不到答案。
我们使用TrueZip 7.7.1并创建ZipFile实例来读取ZIP归档文件。当从ZipFile获取条目或输入流时,我们必须指定条目名,它可能包含创建它的文件系统的路径分隔符。当前的实现是幼稚的,并且使用JVM提供的File.separator,但是如果存档是在带有不同分隔符的文件系统上创建的,则这是行不通的。
在TPath中似乎有一些方法可以这样做,因为这显然可以在任何平台上使用File.separator或"/“。
在带有TrueZip 7.7.1的平台独立庄园中读取ZIP文档的最佳方法是什么?
发布于 2014-11-12 03:36:48
根据ZIP文件格式规范(链接),所有路径都应该使用“/”存储(因此与平台无关):
4.4.17.1文件名,带有可选的相对路径。存储的路径不能包含驱动器或设备字母或前导斜杠。为了与Amiga和UNIX文件系统等兼容,所有斜杠必须是正斜杠'/‘,而不是向后斜杠'\’。如果输入来自标准输入,则没有文件名字段。
所以,如果你坚持这个惯例,你就不用担心你正在运行的平台了。
https://stackoverflow.com/questions/26877179
复制相似问题