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;
    }
  • 相关阅读:
    Vue项目使用路由和elementUI
    Vue-cli组件化开发
    vue实现数据请求
    element-e作业
    vue入门
    BBS(仿博客园小作业)
    Django-Auth模块
    Django中间件
    cookie和session
    forms组件和自定义分页器
  • 原文地址:https://www.cnblogs.com/ashamp/p/4067418.html
Copyright © 2011-2022 走看看