前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS中的NSFileManager

iOS中的NSFileManager

作者头像
xy_ss
发布2023-11-22 09:03:20
3730
发布2023-11-22 09:03:20
举报
文章被收录于专栏:浮躁的喧嚣

NSFileManager

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

NSFileManager常用方法

  • 获取NSFileManager
代码语言:javascript
复制
NSFileManager *file = [NSFileManager defaultManager];
  • 判断一个文件或一个文件夹是否存在(绝对路径)
代码语言:javascript
复制
BOOL flag = [file fileExistsAtPath:@"/Users/soso/Desktop/demo1/NSFileManager/string.txt"];
  • 判断一个文件是否存在,且是否是一个文件夹
代码语言:javascript
复制
//该方法的返回值是说明传入的路径对应的文件或文件夹是否存在
//第二个参数是用于保存判断的结果,如果是一个目录,那么就是赋值为YES,若不是就是NO
BOOL dir = NO;
BOOL flag = [file fileExistsAtPath:@"/Users/user/Desktop/test2/test2/string.txt" isDirectory:&dir];
  • 获取文件夹的属性
代码语言:javascript
复制
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;
}
*/
  • 获取文件夹下所有的文件(只能获取当前文件夹下所有文件,不能获取子文件夹下面的文件)
代码语言:javascript
复制
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"
)
*/
  • 获取文件夹下所有的文件以及子文件的下文件
代码语言:javascript
复制
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"
)
*/
  • 获取文件夹下所有的文件以及子文件的下文件
代码语言:javascript
复制
NSArray *array2 = [file subpathsOfDirectoryAtPath:@"/Users/soso/Desktop/demo1/NSFileManager" error:&error];
  • 创建文件夹
代码语言:javascript
复制
/*
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];
  • 创建文件
代码语言:javascript
复制
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];
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • NSFileManager
  • NSFileManager常用方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档