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;

}

相关文章
相关标签/搜索