在iOS编程过程中有时候需要对指定目录下的文件或者文件夹进行操作,那么就需要用到NSFileManager
下面我们直接用实例来说明一下NSFileManager的具体用法
-
场景如下:
闲言少叙,直接上代码
NSFileManager *manager = [NSFileManager defaultManager];
NSError *error;
NSString *path = @"/Users/feng/Desktop/HTML5-视频整合";
//NSArray *contents = [manager contentsOfDirectoryAtPath:path error:&error];
NSArray *contents = [manager subpathsAtPath:path];
if (!error) {
NSLog(@"正确查找文件内容!");
//遍历内容打印所有内容名称
[contents enumerateObjectsUsingBlock:^(NSString *content, NSUInteger idx, BOOL * _Nonnull stop) {
//拼接成全路径
NSString *fullPath = [path stringByAppendingPathComponent:content];
//首先检查该内容是否是文件件
BOOL isDirectory = NO;
BOOL exists = [manager fileExistsAtPath:fullPath isDirectory:&isDirectory];
if (exists && !isDirectory) {//文件
NSString *fileName = [content lastPathComponent];
// NSLog(@"%@---存在且是文件!", fileName);
NSString *fileNametobeModified = [fileName stringByMatching:@"【.+】"];
if(fileNametobeModified){
NSLog(@"%@--文件需要修改",fileName);
NSLog(@"%@----tobeModified--这是需要删除的字段", fileNametobeModified);
NSString *ModifiedName = [fileName stringByReplacingOccurrencesOfString:fileNametobeModified withString:@""];
NSLog(@"%@----修改完成的名字", ModifiedName);
NSString *newFullPath = [fullPath stringByReplacingOccurrencesOfString:fileName withString:ModifiedName];
NSLog(@"%@-----修改完成后全路径",newFullPath);
[manager moveItemAtPath:fullPath toPath:newFullPath error:nil];
}
//删除指定名称的文件
if ([fileName isEqualToString:@"课程使用必看【jkxy.taobao.com】.txt"]) {
//NSLog(@"%@--------------可以删除", fullPath);
NSError *error;
[manager removeItemAtPath:fullPath error:&error];
if (!error) {
NSLog(@"%@----文件删除成功!",fullPath);
}
}
}else if (exists && isDirectory){//文件夹
/*
NSString *fileName = [content lastPathComponent];
NSLog(@"%@---存在且是文件夹!", fileName);
//删除指定名称的文件夹
if ([fileName isEqualToString:@"极客学院"]) {
NSLog(@"%@--------------可以删除", fullPath);
NSError *error;
[manager removeItemAtPath:fullPath error:&error];
if (!error) {
NSLog(@"%@----文件删除成功!",fullPath);
}
}
*/
}
//NSLog(@"%@",content);
}];
}else{
NSLog(@"查找文件内容出错");
}