zoukankan      html  css  js  c++  java
  • 新浪微博客户端(62)-计算某个文件或文件夹的大小

    NSString+Extension.m

    /**
     * 计算当前路径字符串指定的文件/文件夹大小
     * 文件/文件夹大小,-1代表指定的文件或文件夹路径不存在,以字节为单位
     */
    - (NSInteger)fileSize {
    
        NSFileManager *mgr = [NSFileManager defaultManager];
        BOOL dir = NO;
        BOOL exists = [mgr fileExistsAtPath:self isDirectory:&dir];
        if (!exists) {
            return -1;
        }
        
        if (dir) { // 目录
            NSInteger totalByteSize = 0;
            NSArray *subPaths = [mgr subpathsAtPath:self]; // 单个文件路径
            for (NSString *subPath in subPaths) {
                // 计算完整路径下的文件大小,并累加
                totalByteSize += [[mgr attributesOfItemAtPath:[self stringByAppendingPathComponent:subPath] error:nil][NSFileSize] integerValue];
            }
            return totalByteSize;
        } else { // 文件
            return [[mgr attributesOfItemAtPath:self error:nil][NSFileSize] integerValue] ;
        }
        
    }

    移除某个文件或文件夹:

    // 清除缓存
    - (void)clearCache {
        
        NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
        
        NSFileManager *mgr = [NSFileManager defaultManager];
        [mgr removeItemAtPath:cachePath error:nil];
        
    }

    最终效果:

  • 相关阅读:
    音频波谱通用类|超酷的说
    跟随鼠标的星星实例
    AS3放大镜工具类
    caurina缓动类
    AS3中 is,as,typeof的区别
    Loader ,URLLoader ,URLStream的区别
    (转)AS3正则:元子符,元序列,标志,数量表达符
    动态绘制扇形实例
    AS3.0绘图API
    as3效率优化
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/6200574.html
Copyright © 2011-2022 走看看