NSString+GetPath 类别

本文介绍了在iOS设备上进行文件管理的方法,包括获取指定路径、确保文件夹存在、转换字符串为拼音及计算文件夹大小等功能的实现。
//1 获取路径
+ (NSString* )getFilePath:(NSString* )path
{
    return [NSHomeDirectory() stringByAppendingPathComponent:path];
}

//2 得到一个确切存在的文件路径
+ (NSString* )getExistsFilePath:(NSString* )path
{
    NSString* filePath = [self getFilePath:path];
    if (![[NSFileManager defaultManager] fileExistsAtPath:filePath])
    {
        //文件夹不存在,创建
        if ([[NSFileManager defaultManager] createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:nil])
        {
            NSLog(@"创建成功");
        }else
        {
            NSLog(@"创建失败");
        }
    }else
    {
        NSLog(@"文件夹已存在");
    }
    return filePath;
}
//3 得到一个确切存在的文件路径和拼接好的文件名(文件可以不存在)
+ (NSString* )getExistsFilePath:(NSString *)path withFileName:(NSString* )name
{
    NSString* filePath = [self getExistsFilePath:path];
    filePath = [filePath stringByAppendingPathComponent:name];
    return filePath;
}

//4 把汉字转拼音
- (NSString* )getTransfromString
{
    CFStringRef theString = (CFStringRef)self;
    CFMutableStringRef mutableString = CFStringCreateMutableCopy(NULL, 0, theString);
    CFStringTransform(mutableString, nil, kCFStringTransformMandarinLatin, NO);
    CFStringTransform(mutableString, nil, kCFStringTransformStripDiacritics, NO);
    return (NSString* )mutableString;
}

//5 获取一个路径下文件夹的大小(文件夹下所有的文件)
+ (double)getFileSizeWithFilePath:(NSString *)filePath
{
    if (![[NSFileManager defaultManager]fileExistsAtPath:filePath]) {
        return 0;
    }else{
        //获取一个路径下所有的子文件路径
        NSArray *array = [[NSFileManager defaultManager]subpathsAtPath:filePath];
        long long totalSize = 0;
        //枚举遍历
        NSEnumerator *enumerator = [array objectEnumerator];
        NSString *path = nil;
        while (path = [enumerator nextObject]) {
            //拼接完整路径
            NSString *wholePath = [NSString stringWithFormat:@"%@/%@",filePath,path];
            long long size = [[[[NSFileManager defaultManager]attributesOfItemAtPath:wholePath error:nil] objectForKey:NSFileSize] longLongValue];
            totalSize = totalSize+size;
        }
        return totalSize/(1024*1024);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值