文件目次的拜訪
最簡略的:(因為是沙盒關系,沒有文件夾概念的)
UIImage* image = [UIImage imageNamed:@"11.png"];
這個曾經是絕對app外面打包好的途徑,不須要額定添加途徑。
還有一種就是須要指定文件途徑的:
須要用到NSBundle.
[[NSBundle mainBundle] resourcePath],這個就是法式的打包後的途徑。
假如須要指定途徑,就要如許寫:
你也可本身拼接:
NSString* path = [NSStringstringWithFormat:@"%@/%@/%@",[[NSBundlemainBundle] resourcePath],@"document",@"aaa.txt"];
或許直接:
NSString* path = [[NSBundle mainBundle] pathForResource:@"aaa" ofType:@"png"];
普通來講運用法式有3個目次
Documents,Library,tmp
如今apple不許可把年夜數據保留在documents文檔,假如你想把視頻甚麼的保留在documents文檔外面,須要備份到icould比擬費事。
普通窩的做法就是保留在Library的caches目次上面(不曉得能否公道:))
tmp目次的話,保留一些暫時文件,在加入法式的時刻你可以把外面的緩存內容刪除。
在運用法式中取得本身的documents目次:
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString * documentDirectory = [paths objectAtIndex:0];
在下面的基本上,取得一個完全的文件途徑和名字:
NSString * file = [documentDirectory stringByAppendingPathComponent:@"file1.txt"];
這便可以用file來創立,讀取,和寫入文件。
文件目次治理
上面來看一些經常使用的文件目次治理辦法
1、罕見的NSFileManager文件辦法
-(NSData *)contentsAtPath:path //從一個文件讀取數據
-(BOOL)createFileAtPath: path contents:(NSData *)data attributes:attr //向一個文件寫入數據
-(BOOL)removeItemAtPath:path error:err //刪除一個文件
-(BOOL)moveItemAtPath:from toPath:to error:err //重定名或許挪動一個文件(to不克不及是已存在的)
-(BOOL)copyItemAtPath:from toPath:to error:err //復制文件(to不克不及是已存在的)
-(BOOL)contentsEqualAtPath:path andPath:path2 //比擬兩個文件的內容
-(BOOL)fileExistAtPath:path //測試文件能否存在
-(BOOL)isReadableFileAtPath:path //測試文件能否存在,而且能否能履行讀操作
-(BOOL)isWriteableFileAtPath:path //測試文件能否存在,而且能否能履行寫操作
-(NSDictionary *)attributesOfItemAtPath:path error:err //獲得文件的屬性
-(BOOL)setAttributesOfItemAtPath:attr error:err //更改文件的屬性
2.應用目次
-(NSString *)currentDirectoryPath //獲得以後目次
-(BOOL)changeCurrentDirectoryPath:path //更改以後目次
-(BOOL)copyItemAtPath:from toPath:to error:err //復制目次構造(to不克不及是已存在的)
-(BOOL)createDirectoryAtPath:path withIntermediateDirectories:(BOOL)flag attribute:attr //創立一個新目次
-(BOOL)fileExistAtPath:path isDirectory:(BOOL*)flag //測試文件是否是目次(flag中貯存成果YES/NO)
-(NSArray *)contentsOfDirectoryAtPath:path error:err //列出目次內容
-(NSDirectoryEnumerator *)enumeratorAtPath:path //列舉目次的內容
-(BOOL)removeItemAtPath:path error:err //刪除空目次
-(BOOL)moveItemAtPath:from toPath:to error:err //重定名或挪動一個目次(to不克不及是已存在的)
3、經常使用途徑對象辦法
+(NSString *)pathWithComponens:components //依據components中的元素結構有用途徑
-(NSArray *)pathComponents //析構途徑,取得構成此途徑的各個部門
-(NSString *)lastPathComponent //提取途徑的最初一個構成部門
-(NSString *)pathExtension //從途徑的最初一個構成部門中提取其擴大名
-(NSString *)stringByAppendingPathComponent:path //將path添加到現有途徑的末尾
-(NSString *)stringByAppendingPathExtension:ext //將指定的擴大名添加到途徑的最初一個構成部門
-(NSString *)stringByDeletingLastPathComponent //刪除途徑的最初一個構成部門
-(NSString *)stringByDeletingPathExtension //從文件的最初一部門刪除擴大名
-(NSString *)stringByExpandingTileInPath //將途徑中代字符擴大成用戶主目次(~)或指定用戶的主目次(~user)
-(NSString *)stringByresolvingSymlinksInPath //測驗考試解析途徑中的符號鏈接
-(NSString *)stringByStandardizingPath //經由過程測驗考試解析~、..(父目次符號)、.(以後目次符號)和符號鏈接來尺度化途徑
4、經常使用的途徑對象函數
NSString* NSUserName(void) //前往以後用戶的登錄名
NSString* NSFullUserName(void) //前往以後用戶的完全用戶名
NSString* NSHomeDirectory(void) //前往以後用戶主目次的途徑
NSString* NSHomeDirectoryForUser(NSString* user) //前往用戶user的主目次
NSString* NSTemporaryDirectory(void) //前往可用於創立暫時文件的途徑目次
5、經常使用的IOS目次
Documents(NSDocumentDirectory) //用於寫入運用相干數據文件的目次,在IOS中寫入這裡的文件可以或許與iTunes同享並拜訪,存儲在這裡的文件會主動備份到雲端
Library/Caches(NSCachesDirectory) //用於寫入運用支撐文件的目次,保留運用法式再次啟動須要的信息。iTunes不會對這個目次的內容停止備份
tmp(use NSTemporaryDirectory()) //這個目次用於寄存暫時文件,只法式終止時須要移除這些文件,當運用法式不再須要這些暫時文件時,應當將其從這個目次中刪除
Library/Preferences //這個目次包括運用法式的偏好設置文件,應用 NSUserDefault類停止偏好設置文件的創立、讀取和修正
【iOS開辟中對文件目次的拜訪及治理的根本辦法小結】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!