IOS学习笔记之二十二(文件io)
发布时间:2023-03-27 11:15:45 所属栏目:教程 来源:
导读:NSData和NSMutableData和NSURLNSData和NSMutableData表示oc的数据缓冲区作用:1)、对数据读取NSData2)、输出NSData的数据NSURL可以读取网络数据2、MSFileManager管理文件和目录作用:创建文件、删除文件、复制文件、移
NSData和NSMutableData和NSURLNSData和NSMutableData表示oc的数据缓冲区作用:1)、对数据读取NSData2)、输出NSData的数据NSURL可以读取网络数据2、MSFileManager管理文件和目录作用:创建文件、删除文件、复制文件、移动文件3、NSFileHandle处理文... 语音解读 图文解释 1、NSData和NSMutableData和NSURL NSData和NSMutableData表示oc的数据缓冲区 作用: 1)、对数据读取NSData 2)、输出NSData的数据 NSURL可以读取网络数据 2、MSFileManager管理文件和目录 作用:创建文件、删除文件、复制文件、移动文件 3、NSFileHandle处理文件io 我们可以用NSFileHandle写入数据到文件里面去、从文件里面读取数据、、 4、测试Demo int main(int argc,char * argv[]) { @autoreleasepool { NSLog(@"当前用户名为:%@",NSUserName()); NSLog(@"当前用户名为:%@",NSFullUserName()); /** NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@""]]; NSLog(@"%ld",[data length]); char buff[200]; [data getBytes:buff range:NSMakeRange(0,20)]; NSLog(@"%s",buff); //NSData to UTF-8 String Nsstring *str = [[Nsstring alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"========"); NSLog(@"%@",str); **/ // Nsstring *documentsPath =[self getDocumentsPath]; // rwxr-xr-x 3 ls access_bpf 96B Jul 20 21:47 Documents // drwxr-xr-x 5 ls access_bpf 160B Jul 20 20:45 Library // drwxr-xr-x 2 ls access_bpf 64B Jul 5 16:24 SystemData // drwxr-xr-x 2 ls access_bpf 64B Jul 5 16:24 tmp //获取沙盒根路径 Nsstring *homePath = NSHomeDirectory(); NSLog(@"home Paht is:%@",homePath); //获取 tmp目录 Nsstring *tmpPath = NstemporaryDirectory(); NSLog(@"tmpPath is: %@",tmpPath); //获取Documents路径 NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); Nsstring *path = [docPaths objectAtIndex:0]; NSLog(@"document path:%@",path); NSFileManager *fileManager = [NSFileManager defaultManager]; //创建文件夹 Nsstring *dir = @"dir"; Nsstring *dirPath = [path stringByAppendingPathComponent:dir]; BOOL result = [fileManager createDirectoryAtPath:dirPath withIntermediateDirectories:YES attributes:nil error:nil]; if (result) { NSLog(@"make dir success"); } else { NSLog(@"make dir fail"); } //在document目录下面创建chenyu.txt文件,然后内容为hello,I am testing NSFileManager,my name is chenyu Nsstring *chenyuPath = [path stringByAppendingPathComponent:@"chenyu.txt"]; Nsstring *content = @"hello,my name is chenyu"; BOOL isSuccess = [fileManager createFileAtPath:chenyuPath contents:[content dataUsingEncoding:NSUTF8StringEncoding] attributes:nil]; if (isSuccess) { NSLog(@"make chenyu.txt success"); } else { NSLog(@"make chenyu.txt fail"); } //读取chenyu.txt文件的内容 Nsstring *value = [Nsstring stringWithContentsOfFile:chenyuPath encoding:NSUTF8StringEncoding error:nil]; NSLog(@"chenyu.txt value is:%@",value); //新建chenyu1.txt 文件 Nsstring *chenyuPath1 = [path stringByAppendingPathComponent:@"chenyu1.txt"]; Nsstring *content1 = @"hello,my name is chenyu1"; BOOL result1 = [fileManager createFileAtPath:chenyuPath1 contents:[content1 dataUsingEncoding:NSUTF8StringEncoding] attributes:nil]; if (result1) { NSLog(@"make chenyu1.txt success"); } else { NSLog(@"make chenyu1.txt fail"); } //..../Data/Application/91D24910-B3CB-470C-9C62-D54E2815DF4E/Documents/ // -rw-r--r-- 1 ls access_bpf 52B Jul 20 23:18 chenyu.txt // -rw-r--r-- 1 ls access_bpf 53B Jul 20 23:18 chenyu1.txt // drwxr-xr-x 2 ls access_bpf 64B Jul 20 23:08 dir // -rw-r--r-- 1 ls access_bpf 33B Jul 20 22:12 iOS.txt //删除chenyu1.txt文件 BOOL result2 = [fileManager removeItemAtPath:chenyuPath1 error:nil]; if (result2) { NSLog(@"delete chenyu1.txt success"); } else { NSLog(@"delete chenyu1.txt fail"); } // -rw-r--r-- 1 ls access_bpf 52B Jul 20 23:23 chenyu.txt // drwxr-xr-x 2 ls access_bpf 64B Jul 20 23:08 dir // -rw-r--r-- 1 ls access_bpf 33B Jul 20 22:12 iOS.txt //新建chenyu2.txt 文件 Nsstring *chenyuPath2 = [path stringByAppendingPathComponent:@"chenyu2.txt"]; // Nsstring *content2 = @"hello,my name is chenyu2"; BOOL res = [fileManager createFileAtPath:chenyuPath2 contents:nil attributes:nil]; if (res) { NSLog(@"make chenyu2.txt success"); } else { NSLog(@"make chenyu2.txt fail"); } //NSFileHandle写数据到文件 NSFileHandle *handle = [NSFileHandle fileHandleForWritingAtPath:chenyuPath2]; [handle writeData:[@"this is useing NSHandle write data to chenyu2.txt" dataUsingEncoding:NSUTF8StringEncoding]]; //NSFileHandle读取文件的内容 NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:chenyuPath2]; NSData *data = [readHandle readDataToEndOfFile]; Nsstring *ss = [[Nsstring alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"read data is:%@",ss); //运行结果目录下的文件 // rw-r--r-- 1 ls access_bpf 52B Jul 20 23:33 chenyu.txt // -rw-r--r-- 1 ls access_bpf 49B Jul 20 23:33 chenyu2.txt // drwxr-xr-x 2 ls access_bpf 64B Jul 20 23:08 dir // -rw-r--r-- 1 ls access_bpf 33B Jul 20 22:12 iOS.txt // 用vim打开chenyu2.txt内容如下 // this is useing NSHandle write data to chenyu2.txt } } 上面部分部分//是在终端输入ll命令后打印的信息 5、运行结果 2018-07-21 21:22:02.771753+0800 cyTest[31783:15710817] 当前用户名为: 2018-07-21 21:22:02.774191+0800 cyTest[31783:15710817] 当前用户名为: 2018-07-21 21:22:02.774973+0800 cyTest[31783:15710817] home Paht is:/Users/ls/Library/Developer/CoreSimulator/Devices/3FF9B833-FAF8-4C30-A855-3D40A4EAE8A6/data/Containers/Data/Application/BE126DC7-C827-4BD0-8BFC-A517ADC66E6C 2018-07-21 21:22:02.775214+0800 cyTest[31783:15710817] tmpPath is: /Users/ls/Library/Developer/CoreSimulator/Devices/3FF9B833-FAF8-4C30-A855-3D40A4EAE8A6/data/Containers/Data/Application/BE126DC7-C827-4BD0-8BFC-A517ADC66E6C/tmp/ 2018-07-21 21:22:02.775790+0800 cyTest[31783:15710817] document path:/Users/ls/Library/Developer/CoreSimulator/Devices/3FF9B833-FAF8-4C30-A855-3D40A4EAE8A6/data/Containers/Data/Application/BE126DC7-C827-4BD0-8BFC-A517ADC66E6C/Documents 2018-07-21 21:22:02.776600+0800 cyTest[31783:15710817] make dir success 2018-07-21 21:22:02.779185+0800 cyTest[31783:15710817] make chenyu.txt success 2018-07-21 21:22:02.780033+0800 cyTest[31783:15710817] chenyu.txt value is:hello,my name is chenyu 2018-07-21 21:22:02.782365+0800 cyTest[31783:15710817] make chenyu1.txt success 2018-07-21 21:22:02.784235+0800 cyTest[31783:15710817] delete chenyu1.txt success 2018-07-21 21:22:02.785728+0800 cyTest[31783:15710817] make chenyu2.txt success 2018-07-21 21:22:02.786920+0800 cyTest[31783:15710817] read data is:this is useing NSHandle write data to chenyu2.txt (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐