//Library/Caches:存放緩存文件,iTunes不會備份此目錄,此目錄下文件不會在應用退出刪除
//tmp:存放臨時文件,iTunes不會備份和恢復此目錄,此目錄下文件可能會在應用退出后刪除
//Documents:應用中用戶數(shù)據(jù)可以放在這里,iTunes備份和恢復的時候會包括此目錄
NSString *path = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];//(Documents的路徑)
寫:
-(void) write
{
NSFileManager *fileManager = [NSFileManager defaultManager];//創(chuàng)建文件管理器
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);//獲取路徑 //參數(shù)NSDocumentDirectory要獲取那種路徑
NSString *documentsDirectory = [paths objectAtIndex:0];//去處需要的路徑
[fileManager changeCurrentDirectoryPath:[documentsDirectory stringByExpandingTildeInPath]];//更改到待操作的目錄下
//[fileManager removeItemAtPath:@"config" error:nil];//移除本文件管理器下的該項
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"config"];//獲取文件路徑
//判斷文件是否存在
if (![[NSFileManager defaultManager] fileExistsAtPath:path]) {//如果文件不存在則創(chuàng)建
//創(chuàng)建文件fileName文件名稱,contents文件的內(nèi)容,如果開始沒有內(nèi)容可以設置為nil,attributes文件的屬性,初始為nil
NSData *d_data=[[NSMutableDictionary alloc] init];
[d_data setValue:@"" forKey:@"userid"];
[fileManager createFileAtPath:path contents:d_data attributes:nil];
NSString *str = @"a test file name";
BOOL succeed = [str writeToFile: [documentsDirectory stringByAppendingPathComponent:@"test.xml"] ?atomically: YES ?encoding: NSUTF8StringEncoding ?error: nil];
NSLog( @"succeed is %d", succeed );? ? ? ? // yes -> 寫成功? ? ? no->寫失敗
}
}
讀:
- (void)read
{
//讀取數(shù)據(jù)
NSFileHandle *file = [NSFileHandle fileHandleForReadingAtPath:? @"test.xml"];
NSData *data = [file readDataToEndOfFile];//得到xml文件 ? ? ? ? //讀取到NSDate中
NSString* aStr;
aStr = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];? ? ? ? //轉(zhuǎn)換為NSString
NSLog( @"aStr is %@", aStr );
[file closeFile];
}