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 目錄:這個目錄用於存放臨時檔案,儲存應用程式再次啟動過程中不需要的資訊。
獲取這些目錄路徑的方法:
1,獲取家目錄路徑的函式:
NSString *homeDir = NSHomeDirectory();
2,獲取Documents目錄路徑的方法:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
3,獲取Caches目錄路徑的方法:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachesDir = [paths objectAtIndex:0];
4,獲取tmp目錄路徑的方法:
NSString *tmpDir = NSTemporaryDirectory();
5,獲取應用程式程式包中資原始檔路徑的方法:
例如獲取程式包中一個圖片資源(apple.png)路徑的方法:
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@”apple” ofType:@”png”];
UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath];
程式碼中的mainBundle類方法用於返回一個代表應用程式包的物件。
- // 獲取沙盒主目錄路徑
- 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
- [Swift] iOS中的目錄路徑以及獲取方法SwiftiOS
- 獲取沙盒檔案路徑的兩種方法
- Java中獲取JAR檔案中資源路徑的三種方法JavaJAR
- 在laravel框架中獲取storage目錄的路徑Laravel框架
- python獲取指定目錄所有檔案絕對路徑Python
- Java獲取WEB目錄路徑JavaWeb
- 獲取Linux系統中目錄檔案大小的方法Linux
- Python獲取當前目錄下所有檔案的絕對路徑並儲存在檔案中Python
- java中獲取類載入路徑和專案根路徑的5種方法Java
- java獲取硬碟根目錄的本地路徑Java硬碟
- JavaScript 獲取目錄絕對路徑JavaScript
- Linux 中獲取檔案完整路徑的4種方法介紹Linux
- c#檔案路徑的獲取C#
- Java中的獲取檔案的物理絕對路徑,和讀取檔案Java
- 從request獲取各種路徑總結
- 檔案路徑類 字串的各種擷取方式,包括擷取到檔名字串
- help:如何獲取類檔案的路徑
- Unity3d獲取在Asset中選中的目錄、資源 的路徑Unity3D
- 獲取絕對路徑下的檔名和檔案字尾方法
- Qt 程式獲取程式所在路徑、使用者目錄路徑、臨時資料夾等特殊路徑的方法QT
- Nodejs獲取url路徑中的各個引數NodeJS
- win10怎麼獲取當前目錄_win10系統如何快速獲取檔案路徑Win10
- python獲取程式執行檔案路徑的方法其一Python
- C# 獲取專案程式路徑的方法C#
- C#中獲取當前路徑的幾種方法C#
- JAVA 取得當前目錄的路徑/Servlet/class/檔案路徑/web路徑/url地址JavaServletWeb
- Java中獲取URI最後一個路徑段的4種方法Java
- 獲取檔案路徑(Delphi )----轉貼
- golang 獲取當前路徑和上一級父路徑(目錄)Golang
- C# Winform中如何獲取檔名與檔案路徑C#ORM
- 獲取當前js檔案被引用的路徑JS
- RMAN中各種檔案的恢復方法
- c# 獲取應用程式exe檔案路徑及退出應用程式的幾種方法C#
- vue獲取目錄下的檔名Vue
- 【JavaEE】讀取配置檔案路徑的幾種方式Java
- linux下擷取給定路徑中的目錄部分Linux
- js獲取當前目錄的絕對路徑程式碼例項JS