iPhone文件目录路径
2012-09-05 15:08
225 查看
PathUtility
因为应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件:
Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录
tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除
Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除
在Doucments目录下创建文件
如果写入数据是带有汉字的
在其他目录下创建文件
如果要指定其他文件目录,比如Caches目录,需要更换目录工厂常量,上面代码其他的可不变
使用NSSearchPathForDirectoriesInDomains只能定位Caches目录和Documents目录。tmp目录,不能按照上面的做法获得目录了,有个函数可以获得应用的根目录:也就是Documents的上级目录,当然也是tmp目录的上级目录。那么文件路径可以这样写:NSHomeDirectory()、NSTemporaryDirectory()
使用资源文件
在编写应用项目的时候,常常会使用资源文件,比如:
可以编辑一个PathUtility类继承NSObject,便于整个项目使用
下面表格中的措施,可以用来操作路径:
下面表格中的函数 可以用来获取 用户名、用户的主目录路径 还有 临时目录路径:
因为应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件:
Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录
tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除
Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除
在Doucments目录下创建文件
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask , YES); NSString *fileName = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"myFile"]; //获取Documents目录路径 NSString *content=@"a"; NSData *contentData=[content dataUsingEncoding:NSASCIIStringEncoding]; if ([contentData writeToFile:fileName atomically:YES]) { //data类型数据写入到fileName文件中 NSLog(@">>write ok."); }
如果写入数据是带有汉字的
NSString *fileName=[[paths objectAtIndex:0] stringByAppendingPathComponent:@"myFile"]; NSString *content=@"更深夜静人已息"; NSData *contentData=[content dataUsingEncoding:NSUnicodeStringEncoding]; [contentData writeToFile:fileName atomically:YES]) { NSLog(@">>write ok.");
在其他目录下创建文件
如果要指定其他文件目录,比如Caches目录,需要更换目录工厂常量,上面代码其他的可不变
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSCachesDirectory , NSUserDomainMask , YES);
使用NSSearchPathForDirectoriesInDomains只能定位Caches目录和Documents目录。tmp目录,不能按照上面的做法获得目录了,有个函数可以获得应用的根目录:也就是Documents的上级目录,当然也是tmp目录的上级目录。那么文件路径可以这样写:NSHomeDirectory()、NSTemporaryDirectory()
NSString *fileName=[NSHomeDirectory() stringByAppendingPathComponent:@"tmp/myFile.txt"]; NSString *fileName=[NSTemporaryDirectory() stringByAppendingPathComponent:@"tmp/myFile.txt"];
使用资源文件
在编写应用项目的时候,常常会使用资源文件,比如:
NSString *path = [[NSBundle mainBundle] pathForResource:@”demo” ofType:@”plist”]; NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
可以编辑一个PathUtility类继承NSObject,便于整个项目使用
1.获取应用程序沙盒的Documents目录路径 + (NSString *)documentPath { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); return [paths objectAtIndex:0]; } 2.获取临时目录路径 + (NSString *)tempPath { return NSTemporaryDirectory(); } 3.获取文件目录路径 + (NSString *)documentFilePath:(NSString *)format,... { va_list args; va_start(args, format); NSString *str = [[[NSString alloc] initWithFormat:format arguments:args] autorelease]; va_end(args); NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; return [documentsDirectory stringByAppendingPathComponent:str]; } 4.获取本地文件目录路径 + (NSString *)bundleFilePath:(NSString *)format,... { va_list args; va_start(args, format); NSString *str = [[[NSString alloc] initWithFormat:format arguments:args] autorelease]; va_end(args); return [[[NSBundle mainBundle] bundlePath] stringByAppendingFormat:@"/%@",str]; }
下面表格中的措施,可以用来操作路径:
措施名称 | 描述 |
+(NSString *)pathWithComponents:components | 用components创建有效的路径名称 |
-(NSArray *)pathComponents | 将路径名称拆分成若干组成部分 |
-(NSString *)lastPathComponent | 获取路径名称中最后一个组成部分 |
-(NSString *)pathExtension | 获取路径名称中的扩展名(后缀名) |
-(NSString *)stringByAppendingPathComponent:path | 将path添加到已有的路径名称末尾 |
-(NSString *)stringByAppendingPathExtension:ext | 将扩展名ext添加到已有的路径名称的最后一个组成部分的末尾 |
-(NSString *)stringByDeletingLastPathComponent | 将已有的路径名称的最后一个组成部分删除 |
-(NSString *)stringByDeletingPathExtension | 删除已有路径名称的扩展名 |
-(NSString *)stringByExpandingTildeInPath | 将路径名称中的~字符展开 |
-(NSString *)stringByResolvingSymlinksInPath | 解析路径名称中的符号链接 |
-(NSString *)stringByStandardizingPath | 将路径名称标准化 |
函数名称 | 描述 |
NSString *NSUserName(void) | 获取当前用户的登录名 |
NSString *NSFullUserName(void) | 获取当前用户的全名 |
NSString *NSHomeDirectory(void) | 获取当前用户的主目录路径 |
NSString *NSHomeDirectoryForUser(NSString *user) | 获取用户user的主目录路径 |
NSString *NSTemporaryDirectory(void) | 获取临时目录的路径 |
相关文章推荐
- IOS中获取各个文件的目录路径的方法和NSFileManager类
- matlab对文件目录路径的操作
- 【java编程】IO流之得到指定目录下.java文件的绝对路径
- python之文件目录和路径
- 对路径下的文件和目录进行大小排序
- C#路径,文件,目录,I/O常见操作
- C# 文件路径、目录、I/O常见操作汇总
- Winform选择目录路径与选择文件路径
- Android 拷贝assets目录下所有文件及文件夹到指定路径
- MFC选择目录SHBrowseForFolder选择文件CFileDialog对话框设置默认路径
- PHP之文件系统处理_解析目录路径
- IOS中获取各种文件的目录路径的方法
- Unity3D-各平台文件读写操作路径目录
- java 输出给定路径下的所有文件(目录树)
- 获取网站的根目录的物理文件系统路径
- C# 对包含文件或目录路径信息的 System.String 实例执行操作
- java 用递归获取一个目录下的所有文件路径的小例子
- 列出指定目录下的所有文件的路径
- iOS学习(三十)IOS中获取各种文件的目录路径的方法
- IOS中获取各个文件的目录路径的方法和NSFileManager类