OC从文件或者URL获取字符串,以及写入文件
- OC读取或写入文件
1 /** 2 * initWithContentsOfFile:从文件获取内容 3 * initWithContentsOfURL:从URL获取内容 4 * writeToFile:写入文件 5 * atomically:原子性(文件写入的时候不会中断,在执行完毕之前不会被任何其它任务或事件中断。) 6 */ 7 #import <Foundation/Foundation.h> 8 9 int main(int argc, const char * argv[]) { 10 @autoreleasepool { 11 12 //从文件或者URL获取字符串 13 NSError *error; //error:<#(NSError *__autoreleasing *)#> 二级指针,所以只需要定义一个对象,传递进去即可 14 //encoding:<#(NSStringEncoding)#> 字符编码,定义为枚举类型,因此可以用数字表示 (NSUTF8StringEncoding = 4) 15 NSString *str1=[[NSString alloc]initWithContentsOfFile:@"/Users/Apple/Desktop/test.txt" encoding:4 error:&error]; 16 17 NSLog(@"%@",str1);//打印结果,如果文件不存在(null)或者没有权限将会出问题 18 19 //URL基本语法 20 //协议名://域名或IP:端口/文件路径?参数 21 //http://www.weather.com.cn/adat/sk/101010100.html (北京天气) 22 NSString *str2=[[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:@"http://www.weather.com.cn/adat/sk/101010100.html"] encoding:4 error:&error];//打印结果就会把网页相关的 23 NSLog(@"%@",str2); 24 25 //查询出结果如下: 26 /* {"weatherinfo":{"city":"北京","cityid":"101010100","temp":"9","WD":"西南风","WS":"2级","SD":"22%","WSE":"2","time":"10:35","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暂无实况","qy":"1015"}} 27 */ 28 29 //写入文件 30 NSString *str3=@"这句话将被写入文件"; 31 BOOL isTrue=[str3 writeToFile:@"/Users/chengaojian/Desktop/newFile.txt" atomically:YES encoding:4 error:&error];//automically表示一次性全部写入,如果中间出错了最后就全部不写入 32 NSLog(@"写入%@",isTrue==TRUE?@"成功":@"失败"); 33 } 34 return 0; 35 }