IOS UI distinguish between NSBundle and NSURL (read file write file)

  • 2020-05-27 07:15:32
  • OfStack

The example of this article is to distinguish NSBundle and NSURL, and the specific implementation content is as follows

Add a file to the project. aa.txt is added in this routine, and the content of the file is baidu: Now we need to use NSBundle and NSURL to get the content respectively.

//   Read file contents 
//   methods 1: Read by file path 
  NSString *pathBundle = [[NSBundle mainBundle]pathForResource:@"aa" ofType:@"txt"];
  NSString *outstringbundle = [NSString stringWithContentsOfFile:pathBundle encoding:NSUTF8StringEncoding error:nil];
//   methods 2: In accordance with the URL read 
  NSURL *pathUrl = [[NSBundle mainBundle]URLForResource:@"aa" withExtension:@"txt" subdirectory:nil];
  NSString *outstringUrl = [NSString stringWithContentsOfURL:pathUrl encoding:NSUTF8StringEncoding error:nil];

The output results are as follows:

2016-03-30 14:48:02.939  Sandbox mechanism and The file path [11786:518929]  baidu :
  baidu :

Write to file:

First, create a new file:

NSString *newPath = [NSString stringWithFormat:@"%@/Documents/New",NSHomeDirectory()];
 //   Define the file path and file name first 
   NSString *newfile = [NSString stringWithFormat:@"%@/new.mp3",newPath];
 //   use createFileAtPath Create a file 
   [[NSFileManager defaultManager]createFileAtPath:newfile contents:nil attributes:nil];

After reading and writing:

//   Written to the file 
//  1 , use first data Read the data 
  NSData *data = [[NSData alloc]initWithContentsOfFile:pathBundle];
//  2 , to read data Write to the sandbox file, newfile Created in the sandbox file above mp3 file 
  [data writeToFile:newfile atomically:YES];

I hope it will be helpful for you to distinguish NSBundle from NSURL through a brief example.

Related articles: