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 }

 

posted @ 2015-09-20 19:18  A+P=S  阅读(665)  评论(0编辑  收藏  举报