博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS NSFileManeger 计算文件是否超时,和计算文件夹下文件的总大小
阅读量:6162 次
发布时间:2019-06-21

本文共 1268 字,大约阅读时间需要 4 分钟。

hot3.png

//获得指定文件距离上次修改时间是否达到了指定值(秒)timeout

+(BOOL)isTimeout:(NSString *)path time:(NSTimeInterval)timeout

{

    //获得当前时间

    NSTimeInterval now = [[NSDate date] timeIntervalSince1970];

    

    NSDictionary *dict = [[NSFileManager defaultManager] attributesOfItemAtPath:path error:nil];

    // 取得了文件上次修改的时间

    NSDate *d = [dict objectForKey:NSFileModificationDate];

    if (now-[d timeIntervalSince1970]>timeout) {

        return YES;

    }

    return NO;

}

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

+(float)fileSizeForDir:(NSString*)path

{

    NSFileManager *fileManager = [NSFileManager defaultManager];

    

    //记录总值

    unsigned long long totalSize =0;

    //获得指定路径path的所有内容(文件和文件夹)

    NSArray* array = [fileManager contentsOfDirectoryAtPath:path error:nil];

    for(int i = 0; i<[array count]; i++)

    {

        //拼接全路径

        NSString *fullPath = [path stringByAppendingPathComponent:[array objectAtIndex:i]];

        BOOL isDir;

        

        //如果指定路径存在并且不是文件夹

        //NSLog(@"fullPath:%@",fullPath);

        //先判断是否存在,再判断是文件夹还是文件

        if ([fileManager fileExistsAtPath:fullPath isDirectory:&isDir] && !isDir)

        {

            //获得文件属性

            NSDictionary *fileAttributeDic=[fileManager attributesOfItemAtPath:fullPath error:nil];

            totalSize+=[[fileAttributeDic objectForKey:NSFileSize] unsignedLongLongValue];

        }

        else

        {

            //如果是文件夹,递归

            totalSize+=[self fileSizeForDir:fullPath];

        }

    }

    return totalSize;

}

转载于:https://my.oschina.net/zhuzhu1223/blog/416101

你可能感兴趣的文章
抓取页面图片元素并保存到本机电脑
查看>>
标签有关用法以及锚点定位;
查看>>
javascript中的异步编程
查看>>
CodeForces 903E Swapping Characters
查看>>
SQL 给字符串补0
查看>>
qq群之思考
查看>>
Java switch case
查看>>
Xen安装部署和基本原理
查看>>
求两个Linux文本文件的交集、差集、并集
查看>>
Shell编程中Shift的用法(转)
查看>>
Logback 专题
查看>>
程序练习2
查看>>
测试-Unity修改权重
查看>>
.NET 发送邮件
查看>>
用java实现验证码(CAPTCHA)
查看>>
数据库分页
查看>>
iOS图片编辑功能实现
查看>>
.net面试题精选
查看>>
ClientDataSet建立索引和排序
查看>>
CENTOS编译安装APACHE 2.4.6笔记
查看>>