IOS总结_IOS文件系统

概述

     bundle(沙盒):一个应用只能在自己的沙盒中读取或存储文件,而不能操作其他沙盒中的文件。好处:保护应用的隐私不受侵犯,保护系统文件的安排,应用删除后相关文件也能被全部清除。


    每个应用都有自己的沙盒,沙盒的根目录的获取方法是NSHomeDirectory()。


    根目录下的内容:
         .app文件,实际上是一个文件夹,包含了可执行文件、Nib文件、图片资源、plist等。XCode中能看到的资源,及编译后的可执行文件,都封装在app中。


        Documents文件夹,用于存放你的应用所产生的数据,该文件夹可通过iTunes备份,可以存储游戏进度等。


        Library文件夹,用于存放用户偏好和临时文件。


        tmp文件夹是系统的中转站。

文件管理器
     NSFileManager,defaultManager()返回一个文件管理器的对象(在多线程下不安全)。

在多线程编程中应尽量使用init()。


      代理方法:-fileManager:shouldRemoveItemAtPath和-fileManager:shouldRemoveItemAtURL在移除操作之前被调用。


    -removeItemAtPath:error:删除位于指定路径的文件、连接、目录(及其所有子目录、文件)。


    -removeItemAtURL:error:同上。


    -contentOfDirectoryAtPath:查找所有位于给定路径的子路径和文件。返回值为一个数组,其中包含了NSString对象。查找只在当前目录进行,不会进入下一层目录。


    -subpathsAtPath:查找给定路径下的所有子路径,返回一个数组, 深度查找,不限于当前层,也会查找package的内容。


    -fileExistsAtPath:判断文件是否位于一个路径下面。


    -isReadableFileAtPath:查询文件的可读性

    -isWritableFileAtPath:可写性

    -isExecutableFileAtPath:查询文件的可执行性

    -isDeletableFileAtPath:可删除性


NSString的路径功能


    -pathWithComponent:参数是一堆components构成的数组,返回的路径是由这些components连接而成的路径字符串,相邻components之间用/隔开。


    -pathComponents:返回一个数组,包含路径中的components。


    -fileSystemRepresentation:返回C字符串
    -isAbsolutePath:判断是否为绝对路径
    -pathExtension:返回文件的扩展名,没有的就返回空字符串


    -stringByAppendingPathComponents :向现有路径添加一个component。斜杠/会被自动加上
    -stringByAppendingPathExtension:向现有路径加上文件的扩展名
    -stringByDeletingLastPathComponent:移除最后一个路径component
    -stringByDeletingPathExtension:删除路径扩展名
    -stringByAppendingPaths:参数为一个数组,此方法将数组中的字符串对象作为路径一次添加到源字符串后面。

EG:

NSString *homePath = NSHomeDirectory(); 

NSString *docPath = [homePath stringByAppendingFormat:@"/Documents"]; 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章