日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS学习笔记之二十二(文件io)

發布時間:2023/12/4 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS学习笔记之二十二(文件io) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1NSDataNSMutableData和NSURL

NSData和NSMutableData表示oc的數據緩沖區

作用:

1)、對數據讀取NSData

2)、輸出NSData的數據

?

NSURL可以讀取網絡數據

?

?

2MSFileManager管理文件和目錄

作用:創建文件、刪除文件、復制文件、移動文件

?

?

?

?

3、NSFileHandle處理文件io

我們可以用NSFileHandle寫入數據到文件里面去、從文件里面讀取數據、、

?

?

?

4、測試Demo

int main(int argc, char * argv[]) {@autoreleasepool {NSLog(@"當前用戶名為:%@", NSUserName());NSLog(@"當前用戶名為:%@", NSFullUserName());/**NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://www.baidu.com"]];NSLog(@"%ld", [data length]);char buff[200];[data getBytes:buff range:NSMakeRange(0, 20)];NSLog(@"%s", buff);//NSData to UTF-8 StringNSString *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 chenyuNSString *chenyuPath = [path stringByAppendingPathComponent:@"chenyu.txt"];NSString *content = @"hello, I am testing NSFileManager, 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, I am testing NSFileManager, 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, I am testing NSFileManager, 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, I am testing NSFileManager, 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

?

總結

以上是生活随笔為你收集整理的IOS学习笔记之二十二(文件io)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。