OC中根据文件路径获取文件大小

来源:互联网 发布:怎样修改游戏数据 编辑:程序博客网 时间:2024/05/24 06:45


NSString * cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES) firstObject];

    

NSInteger  size =  [selfgetSizeOfFilePath:cachePath];  // 文件大小


-(NSInteger)getSizeOfFilePath:(NSString *)filePath{

    /** 定义记录大小 */

    NSInteger totalSize =0;

    /** 创建一个文件管理对象 */

    NSFileManager * manager = [NSFileManagerdefaultManager];

    /**获取文件下的所有路径包括子路径 */

    NSArray * subPaths = [managersubpathsAtPath:filePath];

    /** 遍历获取文件名称 */

    for (NSString * fileNamein subPaths) {

        /** 拼接获取完整路径 */

        NSString * subPath = [filePathstringByAppendingPathComponent:fileName];

        /** 判断是否是隐藏文件 */

        if ([fileNamehasPrefix:@".DS"]) {

            continue;

        }

        /** 判断是否是文件夹 */

        BOOL isDirectory;

        [manager fileExistsAtPath:subPathisDirectory:&isDirectory];

        if (isDirectory) {

            continue;

        }

        /** 获取文件属性 */

        NSDictionary *dict = [managerattributesOfItemAtPath:subPatherror:nil];

        /** 累加 */

        totalSize += [dict fileSize];

        

    }

    /** 返回 */

    return totalSize;

}

1 0