// 获取文件路径
/** 1
* bundle是一个目录,其中包含应用程序的所有资源,通过mainBundle 得到这个目录后就可以获取resource下的资源
*/
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"ContactsInfo" ofType:nil];
NSLog(@"%@", filePath);
// 将文件中的内容取出来 存储成字符串 有了其中的内容就可以做一些相应的操作了
NSString *string = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@", string);//获取沙盒路径 得到这个路径就可以找到其中的问件
NSString *sandboxPath = NSHomeDirectory();
NSLog(@"%@", sandboxPath);
/**
* 沙盒中共有3个文件夹
* 1 Documents 将程序中建立的或在程序中浏览到的文件数据保存在该目录下
* 2 Library 存储程序的默认设置或其他状态信息
* 3 tmp 存放临时文件
* 4 应用程序包
*/
// 获取Document路径
// 方法 1
NSString *documentFilePath = [sandboxPath stringByAppendingString:@"/Document"];
NSLog(@"%@", documentFilePath);
// 方法 2
NSString *documentFilePath1 = [sandboxPath stringByAppendingPathComponent:@"Doucment"];
NSLog(@"%@", documentFilePath1);
// 方法 3
NSString *documentFilePath2 = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSLog(@"%@", documentFilePath2);// 这三种方法都能取得 Document
// 将字符串写入指定文件 第二次写入会覆盖第一次写入的内容
NSString *aFilePath = [documentFilePath2 stringByAppendingString:@"a.txt"];
NSString *str = @"hello world";
[str writeToFile:aFilePath atomically:YES encoding:NSUTF8StringEncoding error:nil];// 读出指定文件中的字符串
NSString *str2 = [NSString stringWithContentsOfFile:aFilePath encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@", str2);
/**
* 文件的写入和读出是有条件的 NSString NSArray NSDictionary NSData 这几种类型的数据才可以写入
*
* NSArray NSDictionary NSData 的写入和读出方法大同小异
*/
仅供参考 大神勿喷
IOS之文件的写入和读出,码迷,mamicode.com