NSFileManager:是用来管理文件系统的,它可以用来进行常见的文件\文件夹操作获取NSFileManager示例[NSFileManager defaultManager]
增删改查
1. 创建文件夹
- (
void)createFolder {
NSString *documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,
YES)[
0];
NSString *folderPath = [documentsPath stringByAppendingPathComponent:@
"selfFolder"];
NSError *error;
BOOL temp = [[
NSFileManager defaultManager] createDirectoryAtPath:folderPath withIntermediateDirectories:
YES attributes:
nil error:&error];
if (temp) {
NSLog(@
"文件夹创建成功:%@", folderPath);
}
else {
NSLog(@
"文件夹创建失败\n失败原因:%@", error);
}
}
2. 创建文件
- (
void)createFile {
NSString *documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,
YES)[
0];
NSString *folderPath = [documentsPath stringByAppendingPathComponent:@
"selfFolder"];
NSString *testPath = [folderPath stringByAppendingPathComponent:@
"selfFile.txt"];
BOOL temp = [[
NSFileManager defaultManager] createFileAtPath:testPath contents:
nil attributes:
nil];
if (temp) {
NSLog(@
"文件创建成功:%@", testPath);
}
else {
NSLog(@
"文件创建失败");
}
}
3. 向文件中写入数据
- (
void)writeDataToFile {
NSString *documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,
YES)[
0];
NSString *folderPath = [documentsPath stringByAppendingPathComponent:@
"selfFolder"];
NSString *filePath = [folderPath stringByAppendingPathComponent:@
"selfFile.txt"];
NSString *content = @
"hello world";
NSError *error;
BOOL temp = [content writeToFile:filePath atomically:
YES encoding:NSUTF8StringEncoding error:&error];
if (temp) {
NSLog(@
"文件写入成功:%@", filePath);
}
else {
NSLog(@
"文件写入失败\n失败原因:%@", error);
}
}
4. 删除文件
- (
void)deleteFile {
NSString *documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,
YES)[
0];
NSString *folderPath = [documentsPath stringByAppendingPathComponent:@
"selfFolder"];
NSString *filePath = [folderPath stringByAppendingPathComponent:@
"selfFile.txt"];
NSError *error;
BOOL temp = [[
NSFileManager defaultManager] removeItemAtPath:filePath error:&error];
if (temp) {
NSLog(@
"文件删除成功");
}
else {
NSLog(@
"文件删除失败\n失败原因:%@", error);
}
}
5. 从文件中读取数据
- (
void)readFile {
NSString *documentsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,
YES)[
0];
NSString *folderPath = [documentsPath stringByAppendingPathComponent:@
"selfFolder"];
NSString *filePath = [folderPath stringByAppendingPathComponent:@
"selfFile.txt"];
NSError *error;
NSString *content = [
NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&error];
if (!error) {
NSLog(@
"文件读取成功:%@", content);
}
else {
NSLog(@
"文件写入失败\n失败原因:%@", error);
}
}
常用工具方法
1. 判断文件是否存在
[[NSFileManager defaultManager] fileExistsAtPath:filePath]
2. 判断是否为一个目录
[[NSFileManager defaultManager] fileExistsAtPath:filePath isDirectory:&
isDir];
3. 判断文件是否可读
[[NSFileManager defaultManager] isReadableFileAtPath:filePath];
4. 是否可写
[[NSFileManager defaultManager] isWritableFileAtPath:filePath];
5. 是否可删除
[[NSFileManager defaultManager] isDeletableFileAtPath:filePath];
6. 获取文件属性
NSDictionary *dict = [[
NSFileManager defaultManager] attributesOfItemAtPath:filePath error:
nil];
7. copy文件
[[NSFileManager defaultManager] copyItemAtPath:path1 toPath:path2 error:nil];
8. 移动文件
[[NSFileManager defaultManager] moveItemAtPath:createDirPath toPath:targetPath error:nil];
转载请注明原文地址: https://ju.6miu.com/read-669319.html