最基本的操作

//关于目录的获取
//获取沙盒目录(算是跟目录吧)
        NSHomeDirectory()
//获取document目录(常用)
        let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first
    //或者
FileManager().urls(for: .documentDirectory, in: .userDomainMask).first!
//获取library目录
        var libraryPath = NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true)
//获取caches(缓存目录)目录
        var cachesPath = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true)
//获取temp目录
        var tempPath = NSTemporaryDirectory()


//关于fileManager对象的常用操作
//创建文件管理员(相当于我们hibernate的sessionFactory)
        let fileManager = FileManager.default
//判读文件或目录是否存在
        let result = fileManager.fileExists(atPath: path)
//新增目录
            try! fileManager.createDirectory(atPath: path,
                withIntermediateDirectories: true, attributes: nil)
//删除目录或文件
            try! fileManager.removeItem(atPath: path)
//创建文件
       fileManager.createFile(atPath: path, contents: nil, attributes: nil)


//关于userDefault的常用操作
//获取userDefault的实例
        let userDefaults = UserDefaults.standard
//往实例里对数据
        userDefaults.set(Date(), forKey: refreshKey)
//数据从实例里取出来并强制回原来类型
        let date = userDefaults.object(forKey: refreshKey) as? Date

//关于创建plist的数组或字典的写入和读取操作
// 构建路径
        let namesPath = "(documentsPath)/names.plist"
        
 // 名字的数组
        let names: NSArray = ["aaa", "bbb", "ccc", "maizixueyuan"]
        names.write(toFile: namesPath, atomically: true)
        
 // 读取数据,输出结果
        let entries = NSArray(contentsOfFile: namesPath)!
        print(entries)
//------------------------------
// 构建路径
        let studentsPath = "(documentsPath)/students.plist"
        
// 学生的字典
        let students: NSDictionary = ["sno": "1101", "name": "maizixueyuan", "score": 100]
        students.write(toFile: studentsPath, atomically: true)
        
 // 读取数据,输出结果
        let data = NSDictionary(contentsOfFile: studentsPath)!

 

原文地址:https://www.cnblogs.com/LarryBlogger/p/6186542.html