测试—目录下的文件分类管理

// 编写一个程序,将一个目录下的文件分类管理。
// 用每个文件的尾缀,创建对应全大写目录,将相关文件移动到对应目录中,如有 1.txt 文件,创建 TXT 目录,将 1.txt 移动到这个目录下,另有一个目录( subDir )存储子目录,   其他无尾缀文件,放入 Others 目录。

// 【不支持双尾缀】1.txt.zip

-(void)SelectFiles:(NSString*)path
{
    *****获取IOS 各个路径
    ///document
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);//程序主目录
    NSString *documentDic = [paths objectAtIndex:0];
    

    
    
    NSFileManager *fm = [NSFileManager defaultManager];
    NSError *error = nil;
    //*******创建subDir
    NSString *subDirPath = [path stringByAppendingString:@"subDir"];
    //判断subDir文件夹是否存在
    if(![fm fileExistsAtPath:subDirPath])
    {
        [fm createDirectoryAtPath:subDirPath withIntermediateDirectories:YES attributes:nil error:&error];
        if(error)
        {
            NSLog(@"create subPath Error:%@",error);
            exit(-1);
        }
    }
    
    //*******创建other
    NSString *otherPath = [path stringByAppendingString:@"other"];
    if(![fm fileExistsAtPath:otherPath])
    {
        [fm createDirectoryAtPath:otherPath withIntermediateDirectories:YES attributes:nil error:&error];
        if(error)
        {
            NSLog(@"create otherPath Error:%@",error);
            exit(-1);
        }
    }
    
    //*******遍历path目录下的文件
    NSArray *array = [fm contentsOfDirectoryAtPath:path error:&error];
    if(error)
    {
        NSLog(@"get path file Array Error:%@",error);
        exit(-1);
    }
    
    for(NSString *strPath in array)
    {
        NSArray *arr = [strPath componentsSeparatedByString:strPath];
        if(arr.count>1)//带后缀的文件
        {
            //根据后缀名来创建目录名
            NSString *suffixPath = [arr[arr.count-1] uppercaseString];
            NSString *dirName = [suffixPath stringByAppendingString:subDirPath];
            if(![fm fileExistsAtPath:dirName])
            {
                [fm createDirectoryAtPath:dirName withIntermediateDirectories:YES attributes:nil error:&error];
            }
            //移动文件
            [fm moveItemAtPath:strPath toPath:[dirName stringByAppendingString:path] error:&error];
        }
        else//不带后缀名
        {
            if([strPath isEqualToString:@"subDir"] || [strPath isEqualToString:@"Others"])
            {
                continue;
            }
            else
            {
                //移动文件
                [fm moveItemAtPath:[path stringByAppendingPathComponent:strPath] toPath:[otherPath stringByAppendingPathComponent:strPath] error:&error];
            }
        }
    }
}


转载于:https://www.cnblogs.com/zzzili/p/6685271.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值