服务器之家

服务器之家 > 正文

IOS UI学习教程之区分NSBundle和NSURL(读取文件、写入文件)

时间:2021-01-14 18:16     来源/作者:jiwangbujiu

本文实例为大家区分NSBundle和NSURL,具体实现内容如下

在项目的工程中添加一个文件,本例程添加的是aa.txt,文件的内容为百度: www.baidu.com,现在要使用NSBundle和NSURL分别去获取内容,代码如下:

?
1
2
3
4
5
6
7
8
9
10
//  读取文件内容
//  方法1:按照文件路径读取
  NSString *pathBundle = [[NSBundle mainBundle]pathForResource:@"aa" ofType:@"txt"];
  NSString *outstringbundle = [NSString stringWithContentsOfFile:pathBundle encoding:NSUTF8StringEncoding error:nil];
  
//  方法2:按照URL读取
  NSURL *pathUrl = [[NSBundle mainBundle]URLForResource:@"aa" withExtension:@"txt" subdirectory:nil];
  NSString *outstringUrl = [NSString stringWithContentsOfURL:pathUrl encoding:NSUTF8StringEncoding error:nil];
  
  NSLog(@"%@\n////////\n%@",outstringbundle,outstringUrl);

输出结果如下:

?
1
2
3
2016-03-30 14:48:02.939 沙盒机制and文件路径[11786:518929] 百度: www.baidu.com
 ////////
 百度: www.baidu.com

写入文件:

先新建一个文件:

?
1
2
3
4
5
6
NSString *newPath = [NSString stringWithFormat:@"%@/Documents/New",NSHomeDirectory()];
 //  先把文件路径和文件名定义好
   NSString *newfile = [NSString stringWithFormat:@"%@/new.mp3",newPath];
 //  使用createFileAtPath创建文件
   [[NSFileManager defaultManager]createFileAtPath:newfile contents:nil attributes:nil];
   NSLog(@"%@",newPath);

在读取并写入:

?
1
2
3
4
5
6
7
//  写入文件
//  1、先用data读取数据
  NSData *data = [[NSData alloc]initWithContentsOfFile:pathBundle];
  NSLog(@"%@",data);
  
//  2、把读取的data写入沙盒文件,newfile为上面在沙盒文件中创建的mp3文件
  [data writeToFile:newfile atomically:YES];

通过简短实例为大家区分NSBundle和NSURL,希望对大家的学习有所帮助。

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部