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 }