// NSFileManager 文件管理器, 它是单例
// NSUserDefaults 也是单例
// NSFileManager 是对本地沙盒文件进行管理, 比如创建文件夹, 移动文件, 拷贝文件, 删除文件等操作
warning 1.创建文件夹
// 创建文件管理器单例对象
NSFileManager *fileManager = [NSFileManager defaultManager];
// 使用文件管理器创建一个文件夹(类似创建文件)
NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
// 从数组中获取到document
NSString *documentPath = [array lastObject];
// 创建student文件夹
NSString *studentFile = [documentPath stringByAppendingPathComponent:@"student"];
NSLog(@"studentFile=============%@", studentFile);
// 创建文件夹必须使用文件管理器
BOOL result = [fileManager createDirectoryAtPath:studentFile withIntermediateDirectories:YES attributes:nil error:nil];
if (result) {
NSLog(@"创建成功");
} else {
NSLog(@"创建失败");
}
// 在student文件中生成student.txt文件(拼接文件路径 只是拼接了一个.txt文件的路径, 但并没有创建, 需要写入数据)
NSString *studentTxtFilePath = [studentFile stringByAppendingPathComponent:@"student.txt"];
// 写入数据
NSString *name = @"去玩儿";
BOOL resultTxt = [name writeToFile:studentTxtFilePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
if (resultTxt) {
NSLog(@"写入成功");
} else {
NSLog(@"写入失败");
}
warning 2.移动文件
// 移动student文件夹下的文件到teacher文件夹下
// 创建一个新的文件夹teacher
NSArray *teacherArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docunmentTeacherPath = [teacherArray lastObject];
NSString *teacherFile = [docunmentTeacherPath stringByAppendingPathComponent:@"teacher"];
NSLog(@"teacherFile=============%@", teacherFile);
BOOL resultTeacher = [fileManager createDirectoryAtPath:teacherFile withIntermediateDirectories:YES attributes:nil error:nil];
if (resultTeacher) {
NSLog(@"创建成功");
} else {
NSLog(@"创建失败");
}
// 在teacher文件夹下拼接一个student.txt路径
NSString *TeacherPath = [teacherFile stringByAppendingPathComponent:@"student.txt"];
// 移动student文件夹下的文件到teacher文件夹下
BOOL moveResult = [fileManager moveItemAtPath:studentTxtFilePath toPath:TeacherPath error:nil];
if (moveResult) {
NSLog(@"移动成功");
} else {
NSLog(@"移动失败");
}
warning 3.拷贝文件
// 在teacher文件夹下拷贝一个student.txt到student文件夹中
BOOL copyResult = [fileManager copyItemAtPath:TeacherPath toPath:studentTxtFilePath error:nil];
if (copyResult) {
NSLog(@"拷贝成功");
} else {
NSLog(@"拷贝失败");
}
warning 4.删除文件
// 删除
BOOL removeResult = [fileManager removeItemAtPath:teacherFile error:nil];
if (removeResult) {
NSLog(@"删除成功");
} else {
NSLog(@"删除失败");
}
warning 4.判断文件
// 判断当前文件是否存在
BOOL existsResult = [fileManager fileExistsAtPath:teacherFile];
if (existsResult) {
NSLog(@"文件已经存在");
} else {
NSLog(@"文件不存在");
}