标签:数据存储 writetofile nskeyedarchiver
Documents:将所有的应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其他应该定期备份的信息。
Library:这个目录下面有两个子目录,Caches和Preferences。
Caches:用于存放应用程序专用的支持文件,保存应用程序首次启动过程中需要的信息。
Preferences:保存应用程序的偏好设置文件。你不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好设置。
tem:这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。
//沙盒文件的位置 NSHomeDirectory() // CachesDirectory位置 [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject] // DocumentDirectory位置 [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] // tmp文件的位置 NSTemporaryDirectory() // PreferencePanesDirectory文件的位置 [NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, YES) lastObject]
NSString *filePath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; filePath = [filePath stringByAppendingPathComponent:@"data.zip"]; [NSKeyedArchiver archiveRootObject:[@"dalsfjldkjflas" dataUsingEncoding:NSUTF8StringEncoding] toFile:filePath]; NSData *fileData = [[NSData alloc] init]; fileData = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath]; NSString *fileString = [[NSString alloc] initWithData:fileData encoding:NSUTF8StringEncoding]; NSLog(@"fileStirng = %@", fileString);
关键方法:
NSKeyedArchiver类的归档存储方法:archiveRootObject:toFile:
NSKeyedUnarchiver类的解压方法:unarchiveObjectWithFile
// 将数据保存到文件 NSString *filePath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; filePath = [filePath stringByAppendingPathComponent:@"stirng1.zip"]; NSLog(@"%@", filePath); NSString *string = @"write to the file method"; [string writeToFile:filePath atomically:YES encoding:NSStringEncodingConversionExternalRepresentation error:nil]; // 从文件中提取相应的数据 NSString *stringFile = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSStringEncodingConversionExternalRepresentation error:nil]; NSLog(@"%@", stringFile);
数据的存储-NSKeyedArchiver和write to file介绍
标签:数据存储 writetofile nskeyedarchiver
原文地址:http://blog.csdn.net/daiyibo123/article/details/44462417