IOS获取各种文件目录路径的方法

人在旅途之常宁

人在旅途之常宁

2016-02-19 11:20

下面图老师小编跟大家分享IOS获取各种文件目录路径的方法,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

iphone沙箱模型有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么.

documents,tmp,app,Library。

(NSHomeDirectory()),

手动保存的文件在documents文件里

Nsuserdefaults保存的文件在tmp文件夹里

1、Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。

2、AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。

3、Library 目录:这个目录下有两个子目录:Caches 和 Preferences
Preferences 目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.
Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。

4、tmp 目录:这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。

获取这些目录路径的方法:

第一种方式:获取家目录路径的函数:

NSString *homeDir = NSHomeDirectory();

第二种方式:获取Documents目录路径的方法:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *docDir = [paths objectAtIndex:0];

第三种方式:获取Caches目录路径的方法:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);NSString *cachesDir = [paths objectAtIndex:0];

第四种方式:获取tmp目录路径的方法:

NSString *tmpDir = NSTemporaryDirectory();

第五种方式:获取应用程序程序包中资源文件路径的方法:
例如获取程序包中一个图片资源(apple.png)路径的方法:

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@”apple” ofType:@”png”];UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath];

代码中的mainBundle类方法用于返回一个代表应用程序包的对象。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

iphone沙盒(sandbox)中的几个目录获取方式:

// 获取沙盒主目录路径 

NSString *homeDir = NSHomeDirectory(); 

// 获取Documents目录路径 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *docDir = [paths objectAtIndex:0]; 

// 获取Caches目录路径 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *cachesDir = [paths objectAtIndex:0]; 

// 获取tmp目录路径 

NSString *tmpDir = NSTemporaryDirectory(); 

// 获取当前程序包中一个图片资源(apple.png)路径 

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"apple" ofType:@"png"]; UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath]; 

例子:

NSFileManager* fm=[NSFileManager defaultManager];if(![fm fileExistsAtPath:[self dataFilePath]]){

//下面是对该文件进行制定路径的保存

[fm createDirectoryAtPath:[self dataFilePath] withIntermediateDirectories:YES attributes:nil error:nil];

//取得一个目录下得所有文件名

NSArray *files = [fm subpathsAtPath: [self dataFilePath] ];

//读取某个文件

NSData *data = [fm contentsAtPath:[self dataFilePath]];

//或者

NSData *data = [NSData dataWithContentOfPath:[self dataFilePath]];}

ios获取文件路径的方法有多种,下面介绍一种IOS中获取文件路径比较简单方法。

网上的DOCUMNET和“教程”真让人越看越糊涂,还是自己记下吧。

首先把文件(比如本例中的testFile.txt文件)放置在resources分组下,然后代码这样写:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"testFile" ofType:@"txt"];NSLog(@"data path: %@", filePath); 

输出的日志中你可以看到testFile.txt的路径已经获得。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

再举一个例子:连接SQLITE数据库

NSString *dataPath = [[NSBundle mainBundle] pathForResource:@"myData" ofType:@"sqlite"];if (sqlite3_open([dataPath UTF8String], &db) != SQLITE_OK){  sqlite3_close(db);  NSLog(@"数据库打开失败");}else{  NSLog(@"数据库成功打开");}

以上内容是IOS获取各种文件目录路径的方法,希望对大家有所帮助。

展开更多 50%)
分享

猜你喜欢

IOS获取各种文件目录路径的方法

编程语言 网络编程
IOS获取各种文件目录路径的方法

获取Windows / System / Temp 目录路径

电脑网络
获取Windows / System / Temp 目录路径

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

获取Win / System / Temp 目录路径

编程语言 网络编程
获取Win / System / Temp 目录路径

用正则获取指定路径文件的名称

Web开发
用正则获取指定路径文件的名称

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

IOS检测指定路径的文件是否存在

编程语言 网络编程
IOS检测指定路径的文件是否存在

iOS开发中对文件目录的访问及管理的基本方法小结

编程语言 网络编程
iOS开发中对文件目录的访问及管理的基本方法小结

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

程序设计HTML5 Canvas API

程序设计HTML5 Canvas API

Win8 Metro方块图标美化使用技巧

Win8 Metro方块图标美化使用技巧
下拉加载更多内容 ↓