NSFileManager是什么?
通熟易懂的解释:NSFileManager是文件管理者,可以
1.能够创建文件夹, 创建
删除 赋值
移动
2.通过路径查找和拼接
代码演示:
#pragma mark --NSFileManager 文件管理者 /** * 1.能够创建文件夹, 创建 删除 赋值 移动 2.通过路径 3. */ -(void)initData{ //文件管理者都是系统的一个单例对象 NSFileManager *fileManager = [NSFileManager defaultManager]; //沙盒documents文件夹路径 NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; //沙盒caches文件夹路径 NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; //1.创建文件夹 NSString *path = [documentsPath stringByAppendingPathComponent:@"DownLoad/image"]; /* 方法的调用者:文件管理者 参数1:想要创建文件夹的路径 参数2:YES(该路径下创建不存在的文件夹) NO(忽略不存在文件夹,不创建) 参数3:对所创建的文件夹的相关设置 参数4:错误信息 */ [fileManager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil]; NSLog(@"%@",path); //2.判断是否存在某个文件,如果存在,删掉,不存在则创建 NSString *filePath = [cachesPath stringByAppendingPathComponent:@"xiaopingguo.mp3"]; //判断该路径下是否存在对应的文件 if ([fileManager fileExistsAtPath:filePath]) { //存在删除 [fileManager removeItemAtPath:filePath error:nil]; NSLog(@"文档存在,删除"); } else { //不存在 创建 [fileManager createFileAtPath:filePath contents:nil attributes:nil]; NSLog(@"文件不存在,创建"); } NSLog(@"%@",filePath); //3.赋值 [fileManager copyItemAtPath:filePath toPath:[documentsPath stringByAppendingPathComponent:@"xiaopingguo.mp3"] error:nil]; NSLog(@"%@",documentsPath); //4.移动 /* 参数1:文件的源路径 参数2:目的路径,需要拼接上文件名字 参数3:错误信息 */ [fileManager moveItemAtPath:filePath toPath:[path stringByAppendingPathComponent:@"dabaojian.mp4"] error:nil]; //5.获取文件的子文件 NSArray *fileArray = [fileManager contentsOfDirectoryAtPath:documentsPath error:nil]; NSLog(@"%@",fileArray); }
常用路径工具函数
NSString * NSUserName(); 返回当前用户的登录名
NSString * NSFullUserName(); 返回当前用户的完整用户名
NSString * NSHomeDirectory(); 返回当前用户主目录的路径
NSString * NSHomeDirectoryForUser(); 返回用户user的主目录
NSString * NSTemporaryDirectory(); 返回可用于创建临时文件的路径目录
常用路径工具方法
-(NSString *) pathWithComponents:components 根据components(NSArray对象)中元素构造有效路径
-(NSArray *)pathComponents 析构路径,获取路径的各个部分
-(NSString *)lastPathComponent 提取路径的最后一个组成部分
-(NSString *)pathExtension 路径扩展名
-(NSString *)stringByAppendingPathComponent:path 将path添加到现有路径末尾
-(NSString *)stringByAppendingPathExtension:ext 将拓展名添加的路径最后一个组成部分
-(NSString *)stringByDeletingPathComponent 删除路径的最后一个部分
-(NSString *)stringByDeletingPathExtension 删除路径的最后一个部分 的扩展名
-(NSString *)stringByExpandingTildeInPath 将路径中的代字符扩展成用户主目录(~)或指定用户主目录(~user)
-(NSString *)stringByResolvingSymlinksInPath 尝试解析路径中的符号链接
-(NSString *)stringByStandardizingPath 通过尝试解析~、..、.、和符号链接来标准化路径
-
使用路径NSPathUtilities.h
tempdir = NSTemporaryDirectory(); 临时文件的目录名
path = [fm currentDirectoryPath];
[path lastPathComponent]; 从路径中提取最后一个文件名
fullpath = [path stringByAppendingPathComponent:fname];将文件名附加到路劲的末尾
extenson = [fullpath pathExtension]; 路径名的文件扩展名
homedir = NSHomeDirectory();用户的主目录
component = [homedir pathComponents]; 路径的每个部分
NSProcessInfo类:允许你设置或检索正在运行的应用程序的各种类型信息
(NSProcessInfo *)processInfo 返回当前进程的信息
-(NSArray*)arguments 以NSString对象数字的形式返回当前进程的参数
-(NSDictionary *)environment 返回变量/值对词典。描述当前的环境变量
-(int)processIdentity 返回进程标识
-(NSString *)processName 返回进程名称
-(NSString *)globallyUniqueString 每次调用该方法都会返回不同的单值字符串,可以用这个字符串生成单值临时文件名
-(NSString *)hostname 返回主机系统的名称
-(unsigned int)operatingSystem 返回表示操作系统的数字
-(NSString *)operatingSystemName 返回操作系统名称
-(NSString *)operatingSystemVersionString 返回操作系统当前版本
-(void)setProcessName:(NSString *)name 将当前进程名称设置为name