一.在Documents、tmp和Library中存储文件
Documents:用于存储应用程序中经常需要读取或写入的常规文件。
tmp:用于存储应用程序运行时生成的文件。(随着应用程序的关闭失去了利用价值)
Library:一般存放应用程序的配置文件,比如说plist类型的文件。
二.读取和写入文件
1.新建Empty Application应用程序,添加HomeViewController文件
HomeViewController.h代码:
#import <UIKit/UIKit.h>
@interface HomeViewController : UIViewController
{
}
- (NSString *) documentsPath;//负责获取Documents文件夹的位置
- (NSString *) readFromFile:(NSString *)filepath; //读取文件内容
- (void) writeToFile:(NSString *)text withFileName:(NSString *)filePath;//将内容写到指定的文件
@end
HomeViewController.m代码:
#import "HomeViewController.h"
@interface HomeViewController ()
@end
@implementation HomeViewController
//负责获取Documents文件夹的位置
- (NSString *) documentsPath{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsdir = [paths objectAtIndex:0];
return documentsdir;
}
//读取文件内容
- (NSString *) readFromFile:(NSString *)filepath{
if ([[NSFileManager defaultManager] fileExistsAtPath:filepath]){
NSArray *content = [[NSArray alloc] initWithContentsOfFile:filepath];
NSString *data = [[NSString alloc] initWithFormat:@"%@", [content objectAtIndex:0]];
[content release];
return data;
} else {
return nil;
}
}
//将内容写到指定的文件
- (void) writeToFile:(NSString *)text withFileName:(NSString *)filePath{
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:text];
[array writeToFile:filePath atomically:YES];
[array release];
}
-(NSString *)tempPath{
return NSTemporaryDirectory();
}
- (void)viewDidLoad
{
NSString *fileName = [[self documentsPath] stringByAppendingPathComponent:@"content.txt"];
//NSString *fileName = [[self tempPath] stringByAppendingPathComponent:@"content.txt"];
[self writeToFile:@"苹果的魅力!" withFileName:fileName];
NSString *fileContent = [self readFromFile:fileName];
NSLog(fileContent);
[super viewDidLoad];
}
@end
效果图: