1.什么是NSFileManager
顾名思义, NSFileManager是用来管理文件系统的它可以用来进行常见的文件\文件夹操作(拷贝、剪切、创建等)
NSFileManager使用了单例模式singleton使用defaultManager方法可以获得那个单例对象[NSFileManager defaultManager]
2.NSFileManager的基本用法及其注意点
1)创建文件管理对象
NSFileManager * fm = [NSFileManager defaultManager];
2)如何创建目录
[fm createDirectoryAtPath:dirPath
withIntermediateDirectories:YES attributes:nil error:nil];
dirPath 是一个目录字符串:
@"/Users/mac/Desktop/NSFileManager/1.txt";
withIntermediateDirectories:YES,
注意:为YES时,系统回依次检测目录文件是否存在,存在则不创建不存在则创建出来,此方法只能创建出
文件,包括上面的1.txt也是被创建成文件夹了
3)如何创建文件
NSString *str = @"这就是文件内容";
NSData * date = [str dataUsingEncoding:NSUTF8StringEncoding];
[fm createFileAtPath:filePath contents:date attributes:nil];
dirPath 是一个存在目录的文件:
@"/Users/mac/Desktop/NSFileManager/xiao.txt";
注意:这个文件夹必须是存在的,同名文件可以存在也可以不存在,若果存在则覆盖,不存在则创建
4)如何copy文件
[fm copyItemAtPath:filePath toPath:filePathTaget error:nil];
filePath
@"/Users/mac/Desktop/NSFileManager/haha.txt"
代表需要拷贝的文件所在的路径,此时对应的必须是文件,而不是文件夹filePathTaget
@"/Users/mac/Desktop/xixi.txt"
代表目标文件夹下的文件,而不是文件夹
注意:a.此时被拷贝的文件haha.txt 和 拷贝成的文件xixi.txt 可以是同名的也可以不同名
b.目标文件下不能存在同名的xixi.txt 如果存在则会拷贝失败
5)如何移动文件
isCreat = [fm moveItemAtPath:filePathTaget toPath:filePathMove error:&errorfilePathTaget
@"/Users/mac/Desktop/xixi.txt"
filePathMove
@"/Users/mac/Desktop/NSFileManager/gege.txt"
注意:a.此时被移动的文件xixi.txt 和 移动成的文件gege.txt 可以是同名的也可以不同名
b.目标文件下不能存在同名的gege.txt 如果存在则会拷贝失败
6)如何删除文件
[fm removeItemAtPath:filePathTaget error:nil];
filePathTaget
@"/Users/mac/Desktop/xixi.txt"
注意:代表要删除的文件,如果文件不存在则会报错