c# - 使用 System.IO.Compression 创建的 Zip 文件不会在 Mac 上显示目录
问题描述
我正在创建一个包含以下结构的 zip 文件:
readme.html
我的目录\foo.txt
var zip = new ZipArchive(...);
zip.CreateEntryFromFile("c:\\readme.html", "readme.html");
zip.CreateEntryFromFile("c:\\foo.txt", "my-directory\\foo.txt");
这将创建一个在 Windows 上运行良好的 zip 文件:
但是,如果我在 Mac 上打开 zip 文件,则没有my-directory
文件夹。相反,foo.txt
名称为my-directory\foo.txt
:
如何将目录添加到 zip 文件中,以便该目录显示在 Mac 上的 zip 中?
解决方案
原来,我忘记了 Windows 和 Mac 之间的目录分隔符是不同的。
修复方法是使用“/”字符创建目录,该字符适用于 Windows 和 Mac:
zip.CreateEntryFromFile("c:\\foo.txt", "my-directory/foo.txt");
推荐阅读
- angular - 我如何获得 TemplateRef
不创建虚拟组件? - python - 检查类名(字符串)是否用于 Python 中的某些类
- c# - 当登录详细信息正确时,如何使按钮将您带到另一个表单?-C#
- regex - 正则表达式:在所选文本前面包含 3 个单词,在所选文本后面包含 3 个单词
- rest - shopify 422 无法处理的实体异常 utf-8 字符
- php - PHP 中 TRUE 和 FALSE 常量定义之间的不一致
- java - 番石榴的 Streams::findLast 实现
- react-native - “如何修复 react-native 中的 'handlePress' 错误”
- logback - 有没有办法使用 logback 将 gRPC 上下文中的值打印到日志中?
- java - 获取当前活动以处理发现的 NFC TAG