App文件目录及存储

转载 2012年03月30日 10:00:24

from:http://blog.csdn.net/toddfox/article/details/5326575

1.对于一个运行在iPhone得app,它只能访问自己根目录下得一些文件(所谓sandbox).

2.苹果2008年发布iPhone 2.0操作系统以来,这款手机首次被攻破。苹果针对iPhone 2.0推出了一系列高端安全措施,包括在设备核心中整合“沙盒”(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;

自制app(游戏)Please Go之上传头像篇----萌新成长之路

自制app(游戏)Please Go之上传头像篇最近在自己开发一个自己想出来的游戏(大家可以猜猜是一款什么游戏~),想一边学习一边巩固,所以在这里把项目里面用到的功能分模块写在博客里面。希望有些地方能...
  • q1052196521
  • q1052196521
  • 2017年03月17日 15:02
  • 364

Android app的文件目录

摘要: Android app的文件缓存目录 Android app的文件缓存目录可以是app内置私有的目录,当然也可以选择外置sdcard目录 内置私有目录 /data/dat...
  • mr_orange_klj
  • mr_orange_klj
  • 2016年10月09日 10:43
  • 440

用Hash目录优化文件存储

Hash目录是一种优化文件存储性能的方法。无论是Windows还是Linux,无论是NTFS还是ext3,每个目录下所能容纳的项目数是有限的。并不是不能保存,而是当项目数量过大的时候,会降低文件索引速...
  • jarit
  • jarit
  • 2006年06月26日 08:43
  • 2559

unix文件和目录

文件系统是存储数据的基础,对于一个操作系统来说至关重要,unix支持多种文件系统,各文件系统的特性有所不同,但是又万变不离其宗。 unix文件分为以下几种: 普通文件:最常用的文件类型,包含了某种形式...
  • Repaint_The_World
  • Repaint_The_World
  • 2015年07月12日 15:04
  • 786

无线APP日志上报优化实践

昨天,和大家讨论了无线APP时代如何进行DNS速度优化【回复“dns”阅读】,今天和大家一起讨论一下无线时代的日志上报流量优化。 缘起:无线时代,APP流量敏感,为了统计APP内用户...
  • oanqoanq
  • oanqoanq
  • 2016年03月03日 15:46
  • 541

HDFS中的数据存储路径——StorageDirectory

在HDFS中,无论是NameNode节点还是DataNode节点都需要使用它们所在的本地文件系统来存储与自己相关的数据,如:NameNode节点存储系统命名空间的元数据,DataNode节点存储文件的...
  • xhh198781
  • xhh198781
  • 2011年12月31日 19:03
  • 5251

app的文件目录

/Documents/:存放用户文档和应用数据文件 /Library/:应用程序规范的顶级目录,下面有一些规范定义的的子目录,当然也可以自定义子目录,用于存放应用的文件,但是不宜存放用户数据文件,和...
  • zzia21117
  • zzia21117
  • 2014年11月20日 11:12
  • 335

JAVA APP——密码加密后端存储

一个简单的应用,从python回到JAVA,重新熟悉下JAVA,另外方面前段时间看完设计模式不用上的感觉很快就忘记了,想从设计及开发上多应用下。 一、需求  平常注册的网站多了,或者小号或者账...
  • zhouyuqwert
  • zhouyuqwert
  • 2013年04月21日 22:42
  • 3781

《Android Studio 项目结构(二)——app目录结构》

《Android Studio项目结构(一)》
  • true_maitian
  • true_maitian
  • 2017年02月08日 08:44
  • 1239

Linux系统的目录结构--Linux入门到精通系列

   Linux安装后,由系统产生的目录比较多,初学都对这众多的目录通常会感到很迷或,不知这些目录有何作用,彼此间有何区别,用户自己的目录创建在哪个目录下比较合适。   1、目录结构简介   与DOS...
  • lf8289
  • lf8289
  • 2008年03月04日 15:50
  • 1916
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:App文件目录及存储
举报原因:
原因补充:

(最多只允许输入30个字)