zoukankan      html  css  js  c++  java
  • 获取iOS文件夹大小(空间占用)

    + (float)calculateFileSizeInUnit:(unsigned long long)contentLength
    {
        if(contentLength >= pow(1024, 3))
            return (float) (contentLength / (float)pow(1024, 3));
        else if(contentLength >= pow(1024, 2))
            return (float) (contentLength / (float)pow(1024, 2));
        else if(contentLength >= 1024)
            return (float) (contentLength / (float)1024);
        else
            return (float) (contentLength);
    }
    + (NSString *)calculateUnit:(unsigned long long)contentLength
    {
        if(contentLength >= pow(1024, 3))
            return @"GB";
        else if(contentLength >= pow(1024, 2))
            return @"MB";
        else if(contentLength >= 1024)
            return @"KB";
        else
            return @"Bytes";
    }
    + (float ) folderSizeAtPath:(NSString*) folderPath{
        NSFileManager* manager = [NSFileManager defaultManager];
        if (![manager fileExistsAtPath:folderPath]) return 0;
        NSEnumerator *childFilesEnumerator = [[manager subpathsAtPath:folderPath] objectEnumerator];
        NSString* fileName;
        long long folderSize = 0;
        while ((fileName = [childFilesEnumerator nextObject]) != nil){
            NSString* fileAbsolutePath = [folderPath stringByAppendingPathComponent:fileName];
            folderSize += [self fileSizeAtPath:fileAbsolutePath];
        }
        return folderSize;
    }
    + (long long) fileSizeAtPath:(NSString*) filePath{
        NSFileManager* manager = [NSFileManager defaultManager];
        if ([manager fileExistsAtPath:filePath]){
            return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];
        }
        return 0;
    }
    
    +(NSString *)folderSizeStringAtPath:(NSString*) filePath
    {
        float size=[self folderSizeAtPath:filePath];
        NSString *fileSizeString=[NSString stringWithFormat:@"%.02f%@",[self calculateFileSizeInUnit:size],[self calculateUnit:size]];
        return fileSizeString;
    }
  • 相关阅读:
    从Malvar的论文与两通道QMF设计原理到Speex 与 ISAC中的QMF使用
    转:薪酬与GDP
    转:A PitchEnergy Quantizer for Codec2
    韩国JoonHyuk Chang DSP Lab 专家
    Audio Codec : MPEG2 AAC 反量化模块
    VOIP Codec 三剑客之 SILK (1) 介绍
    CELT 视频PPT介绍
    HEAAC专利
    关于变换编码算法的(Blocking artifacts)和(Ringing artifacts)(一)
    转:免费国际长途 热门应用Line发布中文版
  • 原文地址:https://www.cnblogs.com/ashamp/p/4067418.html
Copyright © 2011-2022 走看看