NSFileManager

来源:互联网 发布:保罗加索尔生涯数据 编辑:程序博客网 时间:2024/05/09 15:49
  • . NSFileManager是Foundation框架中的1个类.
    • 作用: 用来操作磁盘上的文件和文件夹的.
    • 新建 修改 删除 移动 拷贝文件夹或者文件.

  • 创建NSFileManager对象.

    • NSFileManager是1个单例对象.

      • 如何去创建1个NSFileManager的单例对象呢?
    • 调用这个类的类方法

      • (NSFileManager *)defaultManager;
      • 就可以得到这个NSFileManager类的单例对象.

  • . 常用方法之–判断.

    • . 判断指定的文件或者文件夹在磁盘上是否真实的存在

      • . - (BOOL)fileExistsAtPath:(NSString *)path;
    • .判断指定的路径是否真实的存储在我们的磁盘之上,并且判断这个路径是1个文件夹路径还是1个文件路径.

      • .- (BOOL)fileExistsAtPath:(NSString )path isDirectory:(BOOL )isDirectory;
        • 返回值:代表这个路径是否真实存在.
        • 参数指针: 代表这个路径是否是1个文件夹路径
    • . 判断指定的文件夹或者文件是否可以读取.

      • .- (BOOL)isReadableFileAtPath:(NSString *)path;
    • . 判断指定的文件夹或者文件是否可以写入.

      • .- (BOOL)isWritableFileAtPath:(NSString *)path;
    • . 判断指定的文件夹或者文件是否可以删除.
      • . - (BOOL)isDeletableFileAtPath:(NSString *)path

  • . 获取信息

    • .获取指定文件或者文件夹的属性信息.

      • . - (NSDictionary )attributesOfItemAtPath:(NSString )path error:(NSError **)error
        • 返回的是1个字典,如果要拿到特定的信息 通过key
    • .获取指定目录下的所有的文件和目录. 是拿到指定目录下的所有的文件和目录 所有的后代目录和文件.

      • . - (NSArray )subpathsAtPath:(NSString )path;
    • .获取指定目录下的所有的子目录和文件 不包括孙子辈.

      • . - (NSArray )contentsOfDirectoryAtPath:(NSString )path error:(NSError **)error

  • 显示或者隐藏 隐藏文件.

    • 早期的OS X(10.6~10.8)系统可以使用如下两条命令来开始或者关闭系统隐藏文件的显示:

      • defaults write com.apple.Finder AppleShowAllFiles Yes && killall Finder //显示隐藏文件
      • defaults write com.apple.Finder AppleShowAllFiles No && killall Finder //不显示隐藏文件
    • 当升级到OS X 10.9 Mavericks版本之后,这两条命令需要做一些修改,变成了如下命令:

      • defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder //显示隐藏文件
      • defaults write com.apple.finder AppleShowAllFiles No && killall Finder //不显示隐藏文件

  • . 创建

    • . 在指定的目录创建文件.

      • .- (BOOL)createFileAtPath:(NSString )path contents:(NSData )data attributes:(NSDictionary *)attr

        • 第1个参数: 要创建的文件的路径.
        • 第2个参数: 这个文件的内容. 要传递这个文件的二进制格式.
        • 这个二进制的数据格式 使用NSData对象来封装.

        • 任意的文件在磁盘上都是以二进制的形式存储的. 所以要创建1个文件就必须要指定这个文件的二进制内容.

        • NSData对象: 是专门用来存储二进制数据的.

        • 字符串有1个方法,可以将字符串的内容转换为二进制.

      • 将字符串转换为NSData二进制的方式.调用字符串对象的

        • . - (NSData *)dataUsingEncoding:(NSStringEncoding)encoding

          • 编码参数: NSUTF8StringEncoding
            • 指定1个编码 就可以将字符串转换为二进制数据 存储在NSData对象之中.
        • 最后再将这个二进制对象通过这个方法写入.

      • 如果想创建1个空文件 第2个参数就给nil

      • 第3个参数: 指定创建的文件的属性.如果想要使用系统的默认值使用nil

  • . 在指定的目录创建文件夹.

    • . - (BOOL)createDirectoryAtPath:(NSString )path withIntermediateDirectories:(BOOL)createIntermediates attributes:(NSDictionary )attributes error:(NSError **)error

      • 第1个参数: 路径.
      • 第2个参数: YES,做一路创建. 如果是NO就不会做一路创建.
      • 第3个参数: 指定属性 nil为系统默认属性.
      • 第4个参数.

  • .拷贝文件.
    • . - (BOOL)copyItemAtPath:(NSString )srcPath toPath:(NSString )dstPath error:(NSError **)error

  • .移动文件 剪切 文件的重命名.
    • . - (BOOL)moveItemAtPath:(NSString )srcPath toPath:(NSString )dstPath error:(NSError **)error
      • 文件的重命名: 将文件移动到当前目录下 移动后改名字.

  • .删除文件.

    • . - (BOOL)removeItemAtPath:(NSString )path error:(NSError *)error

      • 注意 删除的文件不会倒废纸篓 而是直接删除,所以请小心使用.
0 0
原创粉丝点击