FJFileManager.h
#import <Foundation/Foundation.h>spa
@interface FJFileManager : NSObject.net
//封裝方法的時候,對象方法和類方法的選擇:設計
//1.能用類方法的儘可能使用類方法3d
//2.開始設計方法的時候先設計成對象方法,方法實現完成後code
//看方法中是否須要使用成員變量,若是不須要成員變量,就將該方法變成類方法。component
//(直接將「-」變成"+");orm
//3.再根據這個類向外提供的方法的性質(類方法仍是對象方法)來決定要不要對象
//提供快速建立對象的方法;(暴露在.h文件中的方法就是向外提供的方法.)get
/**整理文件的方法*/博客
+(void) sortDirectoryWithPath :(NSString *) path;
FJFileManager.m
#import "FJFileManager.h"
@implementation FJFileManager
+ (void)sortDirectoryWithPath:(NSString *)path{
//1.遍歷須要處理的文件夾獲得文件名;
NSFileManager *manager = [NSFileManager defaultManager];
NSArray *fileArray = [manager contentsOfDirectoryAtPath:path
error:nil];
//2.遍歷文件夾的內容
for (NSString *fileName in fileArray) {
//拼接每一個文件的路徑
NSString *filePath = [path stringByAppendingPathComponent:fileName];
BOOL isDic;//判斷是不是文件夾的變量
[manager fileExistsAtPath:filePath isDirectory:&isDic];//判斷文件是否存在而且判斷是不是文件夾
//若是是文件夾建立一個專門存放文件夾的DIR(若是有該文件夾就再也不建立)
if (isDic) {
NSString *dirPath = [path stringByAppendingPathComponent:@"DIR"];
[manager createDirectoryAtPath:dirPath withIntermediateDirectories:YES attributes:nil error:nil];
//把當前文件夾移動到DIR文件夾中
NSString *movePath = [dirPath stringByAppendingPathComponent:fileName];
[manager moveItemAtPath:filePath toPath:movePath error:nil];
}else{//若是是文件
[self sortFileWithName:fileName Path:path];
}
}
}
+ (void) sortFileWithName:(NSString *) fileName
Path:(NSString *) path{
//1.拿到文件的後綴
// NSString *fileType = [[fileName componentsSeparatedByString:@"."] lastObject];
NSString *type = [fileName pathExtension];//文件路徑的後綴
//2。將後綴變成大寫
NSString *upperType = [type uppercaseString];
//3.建立大寫名的文件夾
NSString *upperPath = [path stringByAppendingPathComponent:upperType];
NSString *destPath = [upperPath stringByAppendingPathComponent:fileName];
[[NSFileManager defaultManager] createDirectoryAtPath:upperPath
withIntermediateDirectories:YES attributes:nil error:nil];
//4.移動文件
NSString * sourcePath = [path stringByAppendingPathComponent:fileName];
[[NSFileManager defaultManager] moveItemAtPath:sourcePath toPath:destPath error:nil];
}
main.m
//
// main.m
// 文件操做博客
//
// Created by 千鋒 on 16/3/25.
// Copyright (c) 2016年 com.SWPU.EDU. All rights reserved.
//
#import <Foundation/Foundation.h>
#define PATH @"/Users/IOS1601/Desktop/homework"
#import "FJFileManager.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
[FJFileManager sortDirectoryWithPath:PATH];
}
return 0;
}