加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift 快速奔跑的兔几 本节的内容是:使用文件系统存储数据

发布时间:2020-12-14 01:38:34 所属栏目:百科 来源:网络整理
导读:文件可能存储在:应用程序的捆绑包中,或者是磁盘中的其他位置。 从应用程序的捆绑包中提取文件十分简单。使用NSBundle.mainBundle()中的方法即可。下面介绍如何处理存储在其他位置的文件。 应用程序可以访问系统中几乎任何位置的文件。这里所说的几乎任何位

文件可能存储在:应用程序的捆绑包中,或者是磁盘中的其他位置。
从应用程序的捆绑包中提取文件十分简单。使用NSBundle.mainBundle()中的方法即可。下面介绍如何处理存储在其他位置的文件。

应用程序可以访问系统中几乎任何位置的文件。这里所说的几乎任何位置,取决于应用程序运行在何种操作系统上,以及应用程序是否存在于沙盒中。

使用NSFileManager:
使用NSFileManager对象可以列出文件夹的内容;创建,重命名和删除文件;修改文件和文件夹的属性等等。
1)获取一个临时目录:

// 获取一个临时目录
        let temporaryDirectory = NSTemporaryDirectory()
        print(temporaryDirectory)

这个函数会返回一个字符串,它包含了可以在其中存储文件的目录路径。如果希望以NSURL的形式使用它,就需要用方法fileURLWithPath转换。
注意,临时目录下的文件可能会在没有提前警告的情况下被删除。如果操作系统判断自己需要更多的磁盘空间,它会开始删除临时目录中的内容。所以不要将任何重要的东西放在临时目录中。

2)创建目录、文件,删除目录

// 创建目录
        let fileManager = NSFileManager.defaultManager()
        let newURL = NSURL.fileURLWithPath(temporaryDirectory+"/myNewDirectory")
        do{
            try fileManager.createDirectoryAtURL(newURL,withIntermediateDirectories: false,attributes: nil)
        }catch let error as NSError{
            print(error)
        }
        // 创建文件
        let newFileData = NSData()
        fileManager.createFileAtPath(temporaryDirectory+"/myNewDirectory",contents: newFileData,attributes: nil)
        //删除文件
        do{
            try fileManager.removeItemAtURL(newURL)
        }catch let error as NSError{
            print(error)
        }

使用NSFileManager删除文件或文件夹后无法撤销,这些项目不是被移到废纸篓,而是立即被删除。

文件存储位置:
有许多已有位置可供用户保存文件。比如文档目录,桌面等等。可以通过询问NSFileManager类来确定这些常用目录的方法。

// 获得一个指向用户文档目录的URL
        let fileManager = NSFileManager.defaultManager()
        let URLs = fileManager.URLsForDirectory(NSSearchPathDirectory.DocumentDirectory,inDomains: NSSearchPathDomainMask.UserDomainMask) as [NSURL]
        let documentURL = URLs[0]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读