let dic:NSDictionary = self.mj_keyValues()
let data:Data = NSKeyedArchiver.archivedData(withRootObject: dic)
let doc:String = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).last!
let path = doc.appending("/loginUser.data")
do{
try data.write(to: URL(fileURLWithPath: path))
}
catch{
print("r存入失败")
}
升凯 }
func synchronousData(){
let doc:String = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).last!
let path = doc.appending("/loginUser.data")
吵神唤 let data:NSData? = NSData(contentsOfFile: path)
if nil == data {}else{
let dictionary = NSKeyedUnarchiver.unarchiveObject(with: data! as Data)! as! NSDictionary
瞎山 if dictionary.count >0 {
UserModel.defaultManage.setValuesForKeys(dictionary as! [String : Any])
if UserModel.defaultManage.token.nullObject() == false {
UserModel.defaultManage.hasLogin = true
}
}
}
}
iOS开发遇到读文件,写文件等,对文则宽含件和文件夹的 *** 作,这时就可以使用FileManager,FileHandle等类来实现。下面总结了各种常用的 *** 作:
假设用户文档下Document有如下文件和文件夹:test1.txt、fold1/test2.txt
(1)首先我们获取用户文档目录路径
(2). 对指定路径巧拿执行浅搜索,返回指定目录路径下的文件、子目录及符号链接的列表
(3). 类似上面的,对指定路径执行浅搜索,返回指定目录路径下的文件、子目录及符号链接的列表
(4). 深度遍历,会递归遍历子文件夹(但不会递归符号链接)
(5). 类似上面的,深度遍历,会递归遍历子文件夹(但不会递归符号链接)
(6). 深度遍历,会递归遍历子文件夹(包括符号链接,所以要求性能的话用enumeratorAtPath)
方式1:
方式2:
可以通过write(to:)方法,可以创建文件并将对象写入,对象包括String,NSString,UIImage,NSArray,NSDictionary等。
(1)把String保存到文件
(2)把图片保存到文件路径下
(3)把NSArray保存到文件路径下
(4)把NSDictionary保存到文件路径下
(1)方法1
(2)方法2
(1)方法1
(孙笑2)方法2
(1)方法1
(2)方法2
(1)方法1:获取所有文件,然后遍历删除
(2)方法2:删除目录后重新创建该目录
从 attributes 中获取具体的属性:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)