OC文件操做習題

FJFileManager.h

#import <Foundation/Foundation.h>spa


@interface FJFileManager : NSObject.net


//封裝方法的時候,對象方法和類方法的選擇:設計

//1.能用類方法的儘可能使用類方法3d

//2.開始設計方法的時候先設計成對象方法,方法實現完成後code

//看方法中是否須要使用成員變量,若是不須要成員變量,就將該方法變成類方法。component

//(直接將「-」變成"+");orm

//3.再根據這個類向外提供的方法的性質(類方法仍是對象方法)來決定要不要對象

//提供快速建立對象的方法;(暴露在.h文件中的方法就是向外提供的方法.)get


/**整理文件的方法*/博客

+(void) sortDirectoryWithPath :(NSString *) path;


@end


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;

}

相關文章
相關標籤/搜索