美文网首页swift
Swift - 常用文件目录路径获取(Home目录,文档目录,缓

Swift - 常用文件目录路径获取(Home目录,文档目录,缓

作者: 小驴拉磨 | 来源:发表于2020-07-20 17:13 被阅读0次

iOS应用程序只能在自己的目录下进行文件的操作,不可以访问其他的存储空间,此区域被称为沙盒。下面介绍常用的程序文件夹目录:

1、Home目录 ./

整个应用程序各文档所在的目录

//获取程序的Home目录
let homeDirectory = NSHomeDirectory()

2、Documnets目录 ./Documents

用户文档目录,苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录

//方法1
let documentPaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory,
                                                        FileManager.SearchPathDomainMask.userDomainMask, true)
let documnetPath = documentPaths[0]
//方法2
let ducumentPath2 = NSHomeDirectory() + "/Documents"

3、Library目录 ./Library

这个目录下有两个子目录:Caches 和 Preferences
Library/Preferences目录,包含应用程序的偏好设置文件。不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好。
Library/Caches目录,主要存放缓存文件,iTunes不会备份此目录,此目录下文件不会再应用退出时删除

//Library目录-方法1
let libraryPaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.libraryDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
let libraryPath = libraryPaths[0]
 
//Library目录-方法2
let libraryPath2 = NSHomeDirectory() + "/Library"
 
//Cache目录-方法1
let cachePaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
let cachePath = cachePaths[0]
 
//Cache目录-方法2
let cachePath2 = NSHomeDirectory() + "/Library/Caches"

4、tmp目录 ./tmp

用于存放临时文件,保存应用程序再次启动过程中不需要的信息,重启后清空。

//方法1
let tmpDir = NSTemporaryDirectory()
//方法2
let tmpDir2 = NSHomeDirectory() + "/tmp"

5、程序打包安装的目录 NSBundle.mainBundle()

工程打包安装后会在NSBundle.mainBundle()路径下,该路径是只读的,不允许修改。
所以当我们工程中有一个SQLite数据库要使用,在程序启动时,我们可以把该路径下的数据库拷贝一份到Documents路径下,以后整个工程都将操作Documents路径下的数据库。

//声明一个Documents下的路径
let dbPath = NSHomeDirectory() + "/Documents/hanggeDB.sqlite"
//判断数据库文件是否存在
if !FileManager.default.fileExists(atPath: dbPath){
    //获取安装包内数据库路径
    let bundleDBPath:String? = Bundle.main.path(forResource: "hanggeDB", ofType: "sqlite")
    //将安装包内数据库拷贝到Documents目录下
    try! FileManager.default.copyItem(atPath: bundleDBPath!, toPath: dbPath)
}

原文出自:www.hangge.com

相关文章

  • Swift - 常用文件目录路径获取(Home目录,文档目录,缓

    iOS应用程序只能在自己的目录下进行文件的操作,不可以访问其他的存储空间,此区域被称为沙盒。下面介绍常用的程序文件...

  • iOS-拷贝文件/文件夹

    序言 常用的IOS目录 不常用iOS目录 获取应用目录 下面就是这些文件夹获取路径的方法: 1.获取AppName...

  • iOS沙盒获取

    1.获取沙盒中home目录(主目录,沙盒的最外层)的路径 2.获取沙盒中Documents目录的路径 3.获取沙盒...

  • 数据存储方式、沙盒路径、FMDB

    沙箱模型的有四个文件夹 四个文件夹分别是什么 沙盒中各个目录的路径获取方式 1.获取沙盒中home目录(主目录,沙...

  • node 基础方法

    创建目录 获取目录路径 判断文件是否存在 拷贝文件

  • iOS FileManager 文件及文件夹处理

    FileManager 1. 获取用户文档目录路径 2. 搜索 对指定路径执行浅搜索,返回指定目录路径下的文件、子...

  • tar 压缩/解压

    tar压缩目录/文件到指定路径 压缩目录/home/dir到/home/file.tar.gztar -zcvf ...

  • 文件,文件夹操作

    获取用户文档目录路径 对指定路径执行浅搜索,返回指定目录路径下的文件、子目录及符号链接的列表 类似上面的,对指定路...

  • 【Linux】CentOS7 常用命令集合

    常用命令 文件与目录操作 命令解析 cd /home进入 ‘/home’ 目录 cd ..返回上一级目录 cd ....

  • os.path

    获取当前路径 获取当前路径下的文件 删除文件 重命名文件 创建新目录 删除目录 改变目录 操作系统命令 判断对象是...

网友评论

    本文标题:Swift - 常用文件目录路径获取(Home目录,文档目录,缓

    本文链接:https://www.haomeiwen.com/subject/kyhykktx.html