iphone 文档结构
2011-09-14 11:36
288 查看
对于一个运行在iPhone得app,它只能访问自己根目录下得一些文件(所谓sandbox). 一个app发布到iPhone上后,它得目录结构如下: 1、其中得 app root 可以用 NSHomeDirectory() 访问到; 2、Documents 目录就是我们可以用来写入并保存文件得地方,一般可通过: NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; 得到。 3、tmp 目录我们可以在里面写入一些程序运行时需要用得数据,里面写入得数据在程序退出后会没有。可以通过 NSString *NSTemporaryDirectory(void); 方法得到; 4、文件一些主要操作可以通过NSFileManage 来操作,可以通过 [NSFileManger defaultManger] 得到它得实例。 相关得一些操作: 创建一个目录:比如要在Documents下面创建一个test目录, NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSLog(@”%@”,documentsDirectory); NSFileManager *fileManage = [NSFileManager defaultManager]; NSString *myDirectory = [documentsDirectory stringByAppendingPathComponent:@“test”]; BOOL ok = [fileManage createDirectoryAtPath:myDirectory attributes:nil]; 取得一个目录下得所有文件名:(如上面的myDirectory)可用 NSArray *file = [fileManager subpathsOfDirectoryAtPath: myDirectory error:nil]; 或 NSArray *files = [fileManager subpathsAtPath: myDirectory ]; 读取某个文件: NSData *data = [fileManger contentsAtPath:myFilePath];//myFilePath是包含完整路径的文件名 或直接用NSData 的类方法: NSData *data = [NSData dataWithContentOfPath:myFilePath]; 保存某个文件: 可以用 NSFileManager的 - (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr; 或 NSData 的 - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile; - (BOOL)writeToFile:(NSString *)path options:(NSUInteger)writeOptionsMask error:(NSError **)errorPtr; |
用于读写临时数据的方法
bool writeApplicationData(NSData *data, NSString *fileName) {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
if (!documentsDirectory) {
NSLog(@"Documents directory not found!");
return NO;
}
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
return ([data writeToFile:appFile atomically:YES]);
}
NSData *applicationDataFromFile(NSString *fileName) {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:fileName];
NSData *myData = [[[NSData alloc] initWithContentsOfFile:appFile] autorelease];
return myData;
}
相关文章推荐
- html文档基本结构
- 生成表结构数据库文档sql语句
- 【js学习笔记-082】-----文档结构和遍历
- Apache Arrow官方文档-内存结构
- 利用spectral clustering算法进行文档结构与内容结合的一点建议
- oracle 官方文档结构
- 01_XML 文档的类型结构
- 如何拼接两结构相同的XML文档
- 1.文档基础:为HTML文档提供基本结构的标记。
- XHTML文档结构
- 了解iPhone应用程序中App目录结构
- 月光软件站 - 编程文档 - VC语言 - 文档—视窗结构批判
- 深入分析MFC文档视图结构(项目实践)
- MFC浅析(2) 文档视图结构中文档操作流程
- 深入分析MFC文档视图结构(项目实践)
- 【脚本化文档】——文档结构和遍历
- 文档结构规范
- 在iphone程序中打开word、execl、pdf等文档
- 命令行创建项目文档目录结构
- XML文档类型定义---XML Schema结构