美文网首页
iOS中的NSFileManager

iOS中的NSFileManager

作者: 皆为序幕_ | 来源:发表于2018-09-20 15:16 被阅读0次

NSFileManager

  • NSFileManager是用来管理文件系统管理的
  • 它可以用来操作常见文件夹

NSFileManager常用方法

  • 获取NSFileManager
NSFileManager *file = [NSFileManager defaultManager];
  • 判断一个文件或一个文件夹是否存在(绝对路径)
BOOL flag = [file fileExistsAtPath:@"/Users/soso/Desktop/demo1/NSFileManager/string.txt"];
  • 判断一个文件是否存在,且是否是一个文件夹
//该方法的返回值是说明传入的路径对应的文件或文件夹是否存在
//第二个参数是用于保存判断的结果,如果是一个目录,那么就是赋值为YES,若不是就是NO
BOOL dir = NO;
BOOL flag = [file fileExistsAtPath:@"/Users/user/Desktop/test2/test2/string.txt" isDirectory:&dir];
  • 获取文件夹的属性
NSDictionary *dic = [file attributesOfItemAtPath:@"/Users/soso/Desktop/demo1/NSFileManager/string.txt" error:&error];
NSLog(@"dic = %@",dic);
/*
dic = {
    NSFileCreationDate = "2018-09-20 06:58:59 +0000";
    NSFileExtendedAttributes =     {
        "com.apple.TextEncoding" = <7574662d 383b3133 34323137 393834>;
        "com.apple.lastuseddate#PS" = <5945a35b 00000000 83a9ea21 00000000>;
        "com.apple.metadata:_kMDItemUserTags" = <62706c69 73743030 a0080000 00000000 01010000 00000000 00010000 00000000 00000000 00000000 0009>;
        "com.apple.metadata:kMDLabel_irw3ijioz5o2ngwrmpxndxxi5i" = <f23d67c8 34efdd1f abea9f4d 5a0ef354 bca6ab5f f25ae881 59beea49 1849408e f8f0aa29 27ffceb4 2366c613 0b4882fb 09dd795b f22c927d e6279594 572e9f28 20b48fab 7166d56f ca83d350 e29e9d02 02237c35 4d80198f b3>;
    };
    NSFileExtensionHidden = 0;
    NSFileGroupOwnerAccountID = 20;
    NSFileGroupOwnerAccountName = staff;
    NSFileModificationDate = "2018-09-20 06:59:39 +0000";
    NSFileOwnerAccountID = 501;
    NSFilePosixPermissions = 420;
    NSFileReferenceCount = 1;
    NSFileSize = 2;
    NSFileSystemFileNumber = 8980313;
    NSFileSystemNumber = 16777222;
    NSFileType = NSFileTypeRegular;
}
*/
  • 获取文件夹下所有的文件(只能获取当前文件夹下所有文件,不能获取子文件夹下面的文件)
NSArray *array = [file contentsOfDirectoryAtPath:@"/Users/soso/Desktop/demo1/NSFileManager" error:&error];
NSLog(@"array = %@",array);
/*
array = (
    "AppDelegate.h",
    "Assets.xcassets",
    "ViewController.m",
    "Base.lproj",
    "main.m",
    "AppDelegate.m",
    "Info.plist",
    "ViewController.h",
    "string.txt"
)
*/
  • 获取文件夹下所有的文件以及子文件的下文件
NSArray *array = [file subpathsAtPath:@"/Users/soso/Desktop/demo1/NSFileManager"];
NSLog(@"array = %@",array1);
/*
array = (
    "AppDelegate.h",
    "Assets.xcassets",
    "Assets.xcassets/AppIcon.appiconset",
    "Assets.xcassets/AppIcon.appiconset/Contents.json",
    "Assets.xcassets/Contents.json",
    "ViewController.m",
    "Base.lproj",
    "Base.lproj/LaunchScreen.storyboard",
    "Base.lproj/Main.storyboard",
    "main.m",
    "AppDelegate.m",
    "Info.plist",
    "ViewController.h",
    "string.txt"
)
*/
  • 获取文件夹下所有的文件以及子文件的下文件
NSArray *array2 = [file subpathsOfDirectoryAtPath:@"/Users/soso/Desktop/demo1/NSFileManager" error:&error];
  • 创建文件夹
/*
createDirectoryAtPath:创建文件夹到什么地方
withIntermediateDirectories:如果指定的文件中有一些文件夹不存在,是否自动创建不存在的文件夹,如果是YES,要在该路径下创建Text,若路径中没有NSFileManager这个文件夹,系统会自动创建,若为NO,则不会创建成功
 attributes:创建出来为文件夹的属性
error:是否创建成功
注意:该方法只能用于创建文件夹,不能用于创建文件,路径最后的test就是新创建的文件夹
*/
BOOL flag = [file createDirectoryAtPath:@"/Users/soso/Desktop/demo1/NSFileManager/Text" withIntermediateDirectories:YES attributes:nil error:&error];
  • 创建文件
NSString *str = @"hello world";
NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding];
/*
  createFileAtPath:指定存储文件的路径
  contents:文件内容data
  attributes:属性
*/
BOOL flag3 = [file createFileAtPath:@"/Users/soso/Desktop/demo1/NSFileManager/test.txt" contents:data attributes:nil];

相关文章

  • NSFileManager

    NSFileManager NSFileManager是iOS中的文件管理类 一、生成一个路径 这是NSStrin...

  • iOS资源

    iOS开发200个tips总结(一) iOS开发200个tips总结(二) iOS中NSFileManager文件...

  • iOS中的NSFileManager

    NSFileManager NSFileManager是用来管理文件系统管理的 它可以用来操作常见文件夹 NSFi...

  • iOS NSFileManager初探

    iOS NSFileManager初探 使用NSFileManager 文件系统接口 允许访问文件夹内容 创建,重...

  • iOS 开发中单例实现的几种方式

    在 iOS 开发过程中,我们经常会用到各种单例,例如 NSFileManager,UIApplication等,这...

  • iOS NSFileManager

    1: 父类 3: 方法 4: 补充

  • iOS NSFileManager

    简介 由于项目需要,整理了一份文件处理的方法。 下面是一些常用的方法: 获取Document路径 获取Librar...

  • OC基础—文件管理者

    iOS中NSFileManager文件常用操作整合 前言:"在Objective-C的编程过程当中,常常会涉及到对...

  • iOS文件管理系统NSFileManager使用详解

    iOS文件管理系统NSFileManager使用详解 1,找到自己的程序的目录: NSHomeDirectory(...

  • iOS NSFileManager的Category

    前言 项目中自己通过各种渠道及结合项目的经验整理了一套自己的工具包,里面有各种Category,及封装的方法,方便...

网友评论

      本文标题:iOS中的NSFileManager

      本文链接:https://www.haomeiwen.com/subject/xdkwgftx.html