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

举报
清雨小竹 发表于 2022/09/25 00:31:41 2022/09/25
【摘要】 // 编写一个程序,将一个目录下的文件分类管理。 // 用每个文件的尾缀,创建对应全大写目录,将相关文件移动到对应目录中,如有 1.txt 文件,创建 TXT 目录,将 1.txt 移动到这个目录下,另有一个目录( subDir )存储子目录,   其他无尾缀文件,放入 Others 目录。 // 【不支持双尾缀】1....
// 编写一个程序,将一个目录下的文件分类管理。
// 用每个文件的尾缀,创建对应全大写目录,将相关文件移动到对应目录中,如有 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];
            }
        }
    }
}


文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。

原文链接:zzzili.blog.csdn.net/article/details/39157591

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。