1- 概述 bundle(沙盒):一个应用只能在自己的沙盒中读取或存储文件,而不能操作其他沙盒中的文件。好处:保护应用的隐私不受侵犯,保护系统文件的安排,应用删除后相关文件也能被全部清除。 每个应用都有自己的沙盒,沙盒的根目录的获取方法是NSHomeDirectory()。 根目录下的内容: -.app文件,实际上是一个文件夹,包含了可执行文件、Nib文件、图片资源、plist等。XCode中能看到的资源,及编译后的可执行文件,都封装在app中。 -Documents文件夹,用于存放你的应用所产生的数据,该文件夹可通过iTunes备份,可以存储游戏进度等。 -Library文件夹,用于存放用户偏好和临时文件。 -tmp文件夹是系统的中转站。2-文件管理器 NSFileManager,defaultManager()返回一个文件管理器的单例(多线程下不安全)。init(),在多线程编程中应尽量使用init()。 代理方法:-fileManager:shouldRemoveItemAtPath和-fileManager:shouldRemoveItemAtURL在移除操作之前被调用。 -removeItemAtPath:error:删除位于指定路径的文件、连接、目录(及其所有子目录、文件)。 -removeItemAtURL:error:同上。 -contentOfDirectoryAtPath:查找所有位于给定路径的子路径和文件。返回值为一个数组,其中包含了NSString对象。查找只在当前目录进行,不会进入下一层目录。 -subpathsAtPath:查找给定路径下的所有子路径。深度查找,不限于当前层,也会查找package的内容。 -fileExistsAtPath:判断文件是否位于一个路径下面。 -isReadableFileAtPath:查询文件的可读性 -isWritableFileAtPath:可写性 -isExecutableFileAtPath:查询文件的可执行性 -isDeletableFileAtPath:可删除性3-NSString的路径功能 -pathWithComponent:参数是一堆components构成的数组,返回的路径是由这些components连接而成的路径字符串,相邻components之间用/隔开。 -pathComponents:返回一个数组,包含路径中的components。 -fileSystemRepresentation:返回C字符串 -isAbsolutePath:判断是否为绝对路径 -pathExtension:返回文件的扩展名,没有的就返回空字符串 -stringByAppendingPathComponents :向现有路径添加一个component。斜杠/会被自动加上 -stringByAppendingPathExtension:向现有路径加上文件的扩展名 -stringByDeletingLastPathComponent:移除最后一个路径component -stringByDeletingPathExtension:删除路径扩展名 -stringByAppendingPaths:参数为一个数组,此方法将数组中的字符串对象作为路径一次添加到源字符串后面。例子: NSString *homePath = NSHomeDirectory(); NSString *docPath = [homePath stringByAppendingFormat:@"/Documents"];
|
|