欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-11-23 21:35:10
本文实例为大家区分nsbundle和nsurl,具体实现内容如下 在项目的工程中添加一个文件,本例程添加的是aa.txt,文件的内容为百度: www.baidu.com,...

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

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

//  读取文件内容
//  方法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);

输出结果如下:

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

写入文件:

先新建一个文件:

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、先用data读取数据
  nsdata *data = [[nsdata alloc]initwithcontentsoffile:pathbundle];
  nslog(@"%@",data);
  
//  2、把读取的data写入沙盒文件,newfile为上面在沙盒文件中创建的mp3文件
  [data writetofile:newfile atomically:yes];

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