如何在 iOS 的文件管理器中压缩空文件夹?

Posted

技术标签:

【中文标题】如何在 iOS 的文件管理器中压缩空文件夹?【英文标题】:how to zip empty folders in File manager in iOS? 【发布时间】:2014-01-28 13:41:36 【问题描述】:

我正在开发像文件管理器这样的应用程序。在此我使用任何现有文件夹创建了 zip 文件夹,它工作得非常好。为此,我使用了 SSZipArchive API。压缩后我通过邮件发送。它也工作得很好。

现在,当我尝试压缩任何空文件夹时,它无法正常工作。表示空文件夹不压缩。

【问题讨论】:

【参考方案1】:

是的,看看source code,+ createZipFileAtPath:withContentsOfDirectory: 方法似乎只关心文件:

while ((fileName = [dirEnumerator nextObject])) 
    BOOL isDir;
    NSString *fullFilePath = [directoryPath stringByAppendingPathComponent:fileName];
    [fileManager fileExistsAtPath:fullFilePath isDirectory:&isDir];
    if (!isDir) 
        [zipArchive writeFileAtPath:fullFilePath withFileName:fileName];
    

你有两个选择:

    自己修复它,然后在 github 上向作者发送拉取请求,并为您自己受益的工作做出贡献。 忍受它。目前尚不清楚 zip 文件中未出现的空文件夹如何成为问题。

【讨论】:

我在 zip 文件中成功添加了空文件夹。但是当解压这个文件时,没有空文件夹。【参考方案2】:

在这样的目录中有存根文件不是标准的事情。一些没有内容的文件。

【讨论】:

以上是关于如何在 iOS 的文件管理器中压缩空文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

如何读取Hadoop中压缩的文件

如何使用 Java 在 SFTP 或 FTP 服务器中压缩文件?

在 python 中压缩文件时如何保留目录?

如何在 Objective C 中压缩、解压缩文件(arm64 支持)

如何在Mac中压缩文件

如何在 Ipad 中压缩文件夹