在iOS編程過程中有時候需要對指定目錄下的文件或者文件夾進行操作,那么就需要用到NSFileManager
下面我們直接用實例來說明一下NSFileManager的具體用法
-
場景如下:Snip20170111_21.png
閑言少敘,直接上代碼
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(@"查找文件內容出錯");
}