ios 获取沙盒文件名_获取IOS各种沙盒路径的方法
在下初學(xué)IOS編程,有很多不懂以及不了解的地方,本著分享的精神,將自己學(xué)到用到的一些東西寫(xiě)出來(lái),如果有不正確的地方,希望大家指正。
本次講解的是IOS下各個(gè)文件夾的相關(guān)知識(shí)。
首先,我們應(yīng)該知道,在IOS下,共有4個(gè)文件夾,分別是documents,tmp,app,Library,其中app我們一般比較少接觸到,因?yàn)槔?面都是一些應(yīng)用程序,貌似由于簽名之類(lèi)的原因,我們?cè)谶\(yùn)行時(shí)不能修改這個(gè)目錄的東西否則可能導(dǎo)致我們的應(yīng)用無(wú)法正常運(yùn)行(這部分我也不太懂,建議想要詳細(xì) 了解的童鞋再去查一下吧)。
而documents這個(gè)目錄,用于存儲(chǔ)用戶(hù)數(shù)據(jù)等相關(guān)信息,也是我們主要應(yīng)用的目錄。
tmp 目錄:這個(gè)目錄就和它的名字一樣,就是用于存放臨時(shí)文件以及一些暫時(shí)不需要的信息的。
library目錄,下設(shè)兩個(gè)收下,分別是Caches 和 Preferences,其中Preferences 目錄用于存放應(yīng)用程序的偏好設(shè)置文件。而Caches 目錄:用于存放應(yīng)用程序?qū)S玫闹С治募?/p>
下面是獲取各個(gè)目錄的代碼:
獲取Documents目錄路徑的方法:
NSString* documentPath= [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; //1
NSLog(@"%@", documentPath);//2
上述中步驟1就是獲取document目錄的方法。而2的作用在于輸出這個(gè)路徑,用于檢測(cè),這里我對(duì)初學(xué)者稍微提一下我犯的錯(cuò)誤,就是我曾經(jīng)按照目錄逐層 地去找那個(gè)文件,結(jié)果無(wú)論如何都找不到,那是因?yàn)橛幸粚游募请[藏的,所以如果你想手動(dòng)去找一下的話(huà),需要設(shè)置隱藏文件可視,方法很簡(jiǎn)單,在命令行輸入如 下:
顯示:defaults write com.apple.finder AppleShowAllFiles -bool true
隱藏:defaults write com.apple.finder AppleShowAllFiles -bool false
當(dāng)然,這里只是順便科普一下顯示/取消隱藏文件的做法,我是不建議大家手動(dòng)去找的,大家只需要點(diǎn)擊finder,然后點(diǎn)擊“前往”,將地址復(fù)制進(jìn)去就OK了,方便快捷。
至于獲得其它的路徑的代碼,也是大同小異:
獲取library目錄路徑:
NSString *librarytPath=[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
獲取tmp目錄路徑:
NSString *tempPath=NSTemporaryDirectory();
以上,就是常用的目錄路徑的獲取方法,那么,當(dāng)我們要具體獲得里面的某一文件的路徑的時(shí)候怎么辦呢?以下
NSString *fileName = @"1.txt";//1
NSString *localDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];//2
NSLog(@"%@", localDir);
NSString *filePath = [localDir stringByAppendingPathComponent:fileName];//3
上述代碼中,第一步是寫(xiě)下文件的名稱(chēng),第二步是取得document的路徑,第三步就是取得文件路徑啦。
當(dāng)然,這是我們明確知道文件名的情況,或者我們要?jiǎng)?chuàng)建1.txt時(shí)候用到的,那么在我們不知道里面有什么,且需要知道里面都有些什么的時(shí)候,可以用到下面的代碼:
NSString *path=[[NSStringalloc]initWithString:localDir];
NSFileManager * fileManager = [NSFileManager DefaultManager];
NSArray *arrayForFile = [fileManager directoryContentsAtPath:path];
好啦,以上就是我在學(xué)習(xí)中用到的一些東西,如果有哪部分寫(xiě)錯(cuò)了,希望大家告訴我一下,我一定虛心改正。
總結(jié)
以上是生活随笔為你收集整理的ios 获取沙盒文件名_获取IOS各种沙盒路径的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: CPU和内存:电脑世界的黄梅戏
- 下一篇: 海盗船ddr4内存:性能猛如虎,稳定如岩