iOS——(文件管理)NSFileManager的常用方法

获取应用程序的主目录

应用程序的主目录(包含:Documents 、Library、SystemData、tmp)
NSHomeDirectory()

获取Documents 目录

OC版本
NSString * documents = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
Swift版本
let document = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first

获取 tmp路径

 NSTemporaryDirectory()

获取Library路径

OC版本
NSString * library = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES).firstObject;
    
    //遍历library下的文件夹
    NSArray * totalLibrary = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:library error:NULL];
    NSLog(@"%@", totalLibrary);

Swift版本
  获取Library路径
        guard let library = NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true).first else {return}
        
        guard let totalLibrarys = try? FileManager.default.contentsOfDirectory(atPath: library)  else {return}
        
        for  str  in totalLibrarys {
            print(str)
        }

//打印结果
Saved Application State
Preferences
SplashBoard
Caches

获取缓存Caches路径. Library下的路径

NSString * cache = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;

 

NSFileManager
什么是NSFileManager
顾名思义, NSFileManager是用来管理文件系统的
它可以用来进行常见的文件\文件夹操作

NSFileManager使用了单例模式

使用defaultManager方法可以获得那个单例对象
[NSFileManager defaultManager]

//文件的常见判断。
//path这个文件\文件夹是否存在。
- (BOOL)fileExistsAtPath:(NSString *)path;
//path 这个文件\文件夹是否可读
- (BOOL)isReadableFileAtPath:(NSString *)path;
//path 这个文件\文件夹是否可写
- (BOOL)isWritableFileAtPath:(NSString *)path;
- (BOOL)isExecutableFileAtPath:(NSString *)path;
//path这个文件\文件夹是否可删除。
- (BOOL)isDeletableFileAtPath:(NSString *)path;


文件的访问
//获取path这个文件\文件夹的属性。
- (NSDictionary *)attributesOfItemAtPath:(NSString *)path error:(NSError **)error
- (NSArray *)subpathsOfDirectoryAtPath:(NSString *)path error:(NSError **)error;
获得path的所有子路径

- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error;
获得path的当前子路径

- (NSData *)contentsAtPath:(NSString *)path;
获得文件内容

文件操作
- (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;
删除
- (BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL)createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error;
创建文件夹(createIntermediates为YES代表自动创建中间的文件夹)

- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;
创建文件

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值