文件管理器和文件对接器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件管理器和文件对接器相关的知识,希望对你有一定的参考价值。

文件管理器 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);

 

以上是关于文件管理器和文件对接器的主要内容,如果未能解决你的问题,请参考以下文章

iOS学习之文件管理器(NSFileManager)和文件对接器(NSFileHandle)

pbootcms对接微信扫码登录代码核心片段和步骤(前后端)

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段

VSCode自定义代码片段——CSS选择器

VSCode自定义代码片段6——CSS选择器

14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段