NSBundle读取txt文件,图片,plist

关于bundle作用在网上参考了两个博客,介绍如下:

bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBundle.

我们的程序是一个bundle. 在Finder中,一个应用程序看上去和其他文件没有什么区别. 但是实际上它是一个包含了nib文件,编译代码,以及其他资源的目录. 我们把这个目录叫做程序的main bundle

bundle中的有些资源可以本地化.例如,对于foo.nib,我们可以有两个版本: 一个针对英语用户,一个针对法语用户.  在bundle中就会有两个子目录:English.lproj和French.lproj,我们把各自版本的foo.nib文件放到其中. 当程序需要加载foo.nib文件时,bundle会自动根据所设置的语言来加载.

NSBundle束,是一种特定的文件类型,其中的内容遵循特定的结构。

NSBundle的一个主要作用是 获取Resources文件夹中的资源。

NSBundle 对象代表了文件系统中的一个位置,这个位置存放的是我们程序的代码和资源。NSBundel 对象同时本地化程序资源,动态加载和卸载可执行代码,及本地化支持。有三种束,分别是面向应用程的、面向框架的和面向插件的;

  1. //    定义一个NSBundle对象获取得到应用程序的main bundle  
  2.     NSBundle *mainBundle = [NSBundle mainBundle];  
  3. //    用对象mainBundle获取图片路径  
  4.     NSString *imagePath = [mainBundle pathForResource:@"test" ofType:@"png"];  
  5.     UIImage *image = [[UIImage alloc] initWithContentsOfFile:imagePath]; 

2..mainBundle读取txt文件,然后把它显示在lable上,当然在此之前需要添加一个有内容txt文件;读取txt文件和上两个例子一样,再次想说一下如何显示在label上,如果txt中内容太多需要换行的操作;

  1. //    获取txt文件路径  
  2.     NSString *txtPath = [mainBundle pathForResource:@"test" ofType:@"txt"];  
  3. //    将txt到string对象中,编码类型为NSUTF8StringEncoding  
  4.     NSString *string = [[NSString  alloc] initWithContentsOfFile:txtPath encoding:NSUTF8StringEncoding error:nil];  
  5.     NSLog(@"%@",string);  
  6.    CGRect labelframe = CGRectMake(10, 10, 300, 440);      
  7.     UILabel *label = [[UILabel alloc] initWithFrame:labelframe];  
  8. //    将sring内容赋给lable的text属性  
  9.     label.text=string;  
  10.     label.textAlignment = UITextAlignmentLeft;  
  11. //    自动换行设置  
  12.     label.lineBreakMode = UILineBreakModeCharacterWrap;  
  13. //等于0表示可根据具实际情况自动变动     
  14.     label.numberOfLines = 0;  
  15.   
  16.     [self.view addSubview:label];  
  17.      
  18. }  

label.numberOfLines =0;可以自动适应显示,如果等于1显示一行,对于10显示10行

原文地址:https://www.cnblogs.com/Cristen/p/2848552.html