计算文件(文件夹)大小

  // 1.文件管理者
   NSFileManager *mgr = [NSFileManager defaultManager];

    // 2.判断file是否存在
    BOOL isDirectory = NO;
    BOOL fileExists = [mgr fileExistsAtPath:file isDirectory:&isDirectory];
    // 文件\文件夹不存在
    if (fileExists == NO) return 0;

    // 3.判断file是否为文件夹
    if (isDirectory) { // 是文件夹
        NSArray *subpaths = [mgr contentsOfDirectoryAtPath:file error:nil];
        long long totalSize = 0;
        for (NSString *subpath in subpaths) {
            NSString *fullSubpath = [file stringByAppendingPathComponent:subpath];
            totalSize += [self fileSizeAtFile:fullSubpath];
        }
        return totalSize;
    } else { // 不是文件夹, 文件
        // 直接计算当前文件的尺寸
        NSDictionary *attr = [mgr attributesOfItemAtPath:file error:nil];
        return [attr[NSFileSize] longLongValue];
    }

计算文件(文件夹)大小

时间: 2025-01-05 21:21:41

计算文件(文件夹)大小的相关文章

新浪微博客户端(62)-计算某个文件或文件夹的大小

NSString+Extension.m /** * 计算当前路径字符串指定的文件/文件夹大小 * 文件/文件夹大小,-1代表指定的文件或文件夹路径不存在,以字节为单位 */ - (NSInteger)fileSize { NSFileManager *mgr = [NSFileManager defaultManager]; BOOL dir = NO; BOOL exists = [mgr fileExistsAtPath:self isDirectory:&dir]; if (!exist

递归实现显示目标文件夹的所有文件和文件夹,并计算目标文件夹的大小

递归的一个典型应用就是遍历目标文件夹,把该文件夹下的所有文件和文件夹打印或显示出来,还可以递归计算目标文件夹的总大小. 1: class Program 2: { 3: static void Main(string[] args) 4: { 5: Console.WriteLine("输入目标文件夹"); 6: string path = Console.ReadLine(); 7: FindFoldersAndFiles(path); 8: Console.WriteLine(&q

计算文件夹大小、拷贝文件显示进度

计算文件夹大小(get-childitem -path $folder -recurse| measure-object -property length -sum).sum/1mb #拷贝文件提示进度(脚本只对零散文件有效,如果有大型文件的话,进度显示不正确)$folder = "D:\Temp_del"$des = "d:\test"$p=0$sizes = (get-childitem -path $folder -recurse| measure-objec

iOS NSFileManeger 计算文件是否超时,和计算文件夹下文件的总大小

//获得指定文件距离上次修改时间是否达到了指定值(秒)timeout +(BOOL)isTimeout:(NSString *)path time:(NSTimeInterval)timeout { //获得当前时间 NSTimeInterval now = [[NSDate date] timeIntervalSince1970]; NSDictionary *dict = [[NSFileManager defaultManager] attributesOfItemAtPath:path

ios计算某文件夹大小

//-----计算某文件夹大小----- //------获取到某文件夹(该例子为名为homePath路径的文件夹)下所有子文件 NSArray* subFiles = [manager1 subpathsAtPath:homePath]; //用于统计每个文件大小 long sum = 0; for (NSString* subPath in subPaths) { //拼接字文件完整路径 NSString* path = [homePath stringByAppendingPathComp

计算文件夹下文件的总大小

-(float)fileSizeForDir:(NSString*)path//计算文件夹下文件的总大小 {          NSFileManager *fileManager = [[NSFileManager alloc] init];     float size =0;     NSArray* array = [fileManager contentsOfDirectoryAtPath:path error:nil];     for(int i = 0; i<[array cou

Python_计算文件夹大小

计算文件夹大小 os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 os.path.getsize(path) 返回path的大小 os.path.isdir(path) 如果path是一个存在的目录,则返回True.否则返回False 递归版: 1 import os 2 3 4 def get_size(pa

清除缓存,,计算文件夹大小

#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // //    NSLog(@"缓存文件大小为%@",[NSString stringWithFormat:@"%0.2fM",[self folderSizeAtPath:[N

iOS获取文件和文件夹大小

//通常用于删除缓存的时,计算缓存大小 //单个文件的大小 - (long long) fileSizeAtPath:(NSString*) filePath{ NSFileManager* manager = [NSFileManager defaultManager]; if ([manager fileExistsAtPath:filePath]){ return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];