首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何只清除缓存目录中的图片?

如何只清除缓存目录中的图片?
EN

Stack Overflow用户
提问于 2017-03-08 21:38:42
回答 1查看 60关注 0票数 0

我想每1分钟清除默认缓存目录中的所有图像,但是缓存文件没有扩展名来指定它们的类型,我不知道如何删除像PNG这样的图像(而不是其他数据)。这是我在这个网站上看到的示例代码:

代码语言:javascript
复制
       let fileManager = FileManager.default
    let documentsUrl =  FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask).first! as NSURL
    let documentsPath = documentsUrl.path

    do {
        if let documentPath = documentsPath
        {
            let fileNames = try fileManager.contentsOfDirectory(atPath: "\(documentPath)")
            print("all files in cache: \(fileNames)")
            for fileName in fileNames {

                if (fileName.hasSuffix(".png"))
                {
                    let filePathName = "\(documentPath)/\(fileName)"
                    try fileManager.removeItem(atPath: filePathName)
                }
            }

            let files = try fileManager.contentsOfDirectory(atPath: "\(documentPath)")
            print("all files in cache after deleting images: \(files)")
        }

    } catch {
        print("Could not clear temp folder: \(error)")
    }
EN

回答 1

Stack Overflow用户

发布于 2017-03-08 21:46:12

可能性:

您可以在删除每个文件之前使用ImageIO对其进行测试,但这意味着在删除它之前要先阅读它。它会取代后缀的测试,但是

因为这真的是不必要的昂贵,我甚至不会提供代码。

好的方式:

=>将您的图像重命名为后缀或前缀,以便您可以通过名称来识别它们(n个调用)

好方法

=>将图像放在一个单独的文件夹中,然后删除该文件夹以清除它们。(1个电话)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42672877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档