// 获取文件路径 /** 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 的写入和读出方法大同小异 */
仅供参考 大神勿喷