1.FileManager中的应用
倘若你只是想看FileManager中的 Error Handling是如何实现的,请找到3.删除文件以及4.获取文件信息。我分别为你提供了
do-catch
以及try?
的使用方法。
打开Xcode
,选中Single View Application
,输入项目名称例如FileManagerDemo,点击Next,选择文件放置路径。此时你已经建立了一个新的工程。
选中ViewController.swift
文件,找到viewDidload()
文件,写入如下的代码。
override func viewDidLoad() {
super.viewDidLoad()
// 1.获取路径操作代码
// 沙盒下有三个目录 分别是Documents/Library/tmp 通常我们将文件放到Documents下
// 获取document的文件夹路径
var path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
let pathDocuments = path[0]
print(pathDocuments)
// 2. 创建文件操作
let file1 = "file1.txt"
let file2 = "file2.txt"
let file1Path: String = NSString(format: "%@/%@", pathDocuments,file1) as String//生成一个绝对路径
let file2Path: String = NSString(format: "%@/%@", pathDocuments,file2) as String//生成一个绝对路径
// 进行file1文件生成操作
if NSFileManager.defaultManager().fileExistsAtPath(file1Path as String){
print("文件已存在")
}else{
let data = "Hello world By Swift2.0 file1".dataUsingEncoding(NSUTF8StringEncoding)
NSFileManager.defaultManager().createFileAtPath(file1Path, contents: data, attributes: nil)//创建新文件 //当然也有直接向已存在文件中写入内容的方法
}
// 进行file2文件生成操作
if NSFileManager.defaultManager().fileExistsAtPath(file2Path as String){
print("文件已存在")
}else{
let data = "Hello world By Swift2.0 file2".dataUsingEncoding(NSUTF8StringEncoding)
NSFileManager.defaultManager().createFileAtPath(file2Path, contents: data, attributes: nil)//创建新文件 //当然也有直接向已存在文件中写入内容的方法
}
// 3.删除文件 将原先的创建的删除
let deletePath = NSString(format: "%@/%@", pathDocuments,file1) as String
print("要删除的文件路径:\(deletePath)")
do{
try NSFileManager.defaultManager().removeItemAtPath(deletePath)
}catch let error as NSError{
print("error is \(error)")
}
// 以下内容只做拓展
/*
var arrayContent = NSArray(contentsOfFile: filePath)//必须是完整路径
var dictContent = NSDictionary(contentsOfFile: filePath)
var imgContent = UIImage(contentsOfFile: filePath)
*/
// 4.获取文件信息
// 文件属性 是一个字典类型
let attrFile1 = try? NSFileManager.defaultManager().attributesOfItemAtPath(file1Path)
let attrFile2 = try? NSFileManager.defaultManager().attributesOfItemAtPath(file2Path)
print(attrFile1)//打印nil 因为file1不存在
print(attrFile2)//打印出信息
}
内容持续补充中
网友评论