文件管理器和文件对接器

文件管理器 NSFileManager

 1 #pragma mark - 文件管理器  创建文件夹
 2     
 3     // 创建对象
 4     NSFileManager *manager = [NSFileManager defaultManager];
 5     
 6     // 创建路径
 7     NSString *path = NSHomeDirectory();
 8     path = [path stringByAppendingPathComponent:@"test/myApp"];
 9     NSLog(@"%@", path);
10     
11     // 创建
12     NSError *error = nil;
13     BOOL success = [manager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error];
14     NSLog(@"success = %d, error = %@", success, error);
15     
16     
17 #pragma mark - 文件管理器  添加内容
18     // 添加字符串
19     path = [path stringByAppendingPathComponent:@"hhh.txt"];
20     
21     // 初始化字符串
22     NSString *string = @"哈哈哈哈";
23     
24     [string writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];
25     
26     
27 #pragma mark - 文件管理器  删除内容
28     [manager removeItemAtPath:path error:nil];
29     
30     
31 #pragma mark - 文件管理器  移动,copy
32     // 找到Documents路径
33     NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
34     
35     
36     // 创建一个文件夹
37     NSString *copyPath = [documentPath stringByAppendingPathComponent:@"备份/test.txt"];
38     
39     // stringByDeletingLastPathComponent删除最后一部分内容
40     [manager createDirectoryAtPath:[copyPath stringByDeletingLastPathComponent] withIntermediateDirectories:YES attributes:nil error:nil];
41     
42     // 定义一个字符串
43     NSString *testStr = @"哈哈哈";
44     NSData *data = [testStr dataUsingEncoding:NSUTF8StringEncoding];
45     
46     [manager createFileAtPath:copyPath contents:data attributes:nil];
47     
48     
49     // 创建一个toPath[用来移动]
50     NSString *toPath = [documentPath stringByAppendingPathComponent:@"hello/aaa.txt"];
51     
52     [manager createDirectoryAtPath:[toPath stringByDeletingLastPathComponent] withIntermediateDirectories:YES attributes:nil error:nil];
53     
54     NSError *error1 = nil;
55     BOOL result = [manager moveItemAtPath:copyPath toPath:toPath error:&error1];
56     NSLog(@"result = %d, error1 = %@", result, error1);
57     
58     
59     BOOL result1 = [manager copyItemAtPath:copyPath toPath:toPath error:nil];
60     NSLog(@"%d", result1);

文件对接器 NSFileHandle

 1 #pragma mark - 使用NSFileManager创建文件夹
 2     NSFileManager *fileManager = [NSFileManager defaultManager];
 3     
 4     NSString *documentPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
 5     NSString *strPath = [documentPath stringByAppendingPathComponent:@"file.txt"];
 6     
 7     [fileManager createFileAtPath:strPath contents:[@"hello" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
 8     NSLog(@"%@", strPath);
 9     
10     
11 #pragma mark - 使用NSFileHandle向文件里追加内容
12     // 创建handle对象
13     NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:strPath];
14     
15     // 搜索到文本内容末尾
16     [fileHandle seekToEndOfFile];
17     
18     
19     // 创建数据
20     NSString *appendStr = @"我是新添加的";
21     NSData *data1 = [appendStr dataUsingEncoding:NSUTF8StringEncoding];
22     
23     // 将数据写入对接器
24     [fileHandle writeData:data1];
25     
26     // 关闭对接器
27     [fileHandle closeFile];
28     
29     
30 #pragma mark - 定位数据
31     
32     //将“123456”写入file2.txt文件夹中
33     NSString * content = @"123456";
34     NSString * filePath2 = [documentPath stringByAppendingPathComponent:@"file2.txt"];
35     [fileManager createFileAtPath:filePath2 contents:[content dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
36     
37     //通过fileHandle读取
38     fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath2];
39     //  获取数据长度
40     NSUInteger length = [[fileHandle availableData] length];
41     //  偏移量文件的一半
42     [fileHandle seekToFileOffset:length/2.0];
43     //从一半位置读取到最后
44     NSData * data = [fileHandle readDataToEndOfFile];
45     [fileHandle closeFile];
46     //打印读取的字符串
47     NSString * string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
48     NSLog(@"%@",string);
原文地址:https://www.cnblogs.com/zhizunbao/p/5558331.html