文档章节

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

风了个1
 风了个1
发布于 2015/05/18 11:11
字数 251
阅读 184
收藏 0

//获得指定文件距离上次修改时间是否达到了指定值(秒)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;

}



© 著作权归作者所有

风了个1
粉丝 3
博文 76
码字总数 16670
作品 0
杭州
程序员
私信 提问
iOS使用Objective-c自定义cordova插件(-)

本系列教程为博主初次使用开发,内容如有差错,欢迎指正,敬请谅解。 博客地址:http://blog.img421.com/iosshi-yong-object-czi-ding-yi-cordovacha-jian/ Mac安装ionic和cordova我们已经熟悉,...

Michaelyn
2017/10/23
0
0
疯狂ios讲义之使用CoreLocation定位(2)

9.2 获取定位信息 iOS开发者使用CoreLocation.framework框架进行定位非常简单,CoreLocation框架的常用API主要有如下几个。 Ø CLLocationManager:定位管理器类。 Ø CLLocationManagerdel...

博文视点
2014/04/03
11.3K
0
C++文件读写详解(ofstream,ifstream,fstream)

在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结: 这里主要是讨论fstream的内容: [java] view pl...

涩女郎
2015/08/19
0
0
(转)细说iOS代码签名(三)

转自 http://xelz.info/blog/2019/01/11/ios-code-signature-3/,版权归原作者所有 导航 一口气读完,大约需要40-60分钟 分步阅读 0x05 CodeSign 万事具备,只欠东风,已经具备了签名所需的所...

minap
01/28
0
0
NSFileManager文件操作的十个小功能

NSFileManager是一个单列类,也是一个文件管理器。可以通过NSFileManager创建文件夹、创建文件、写文件、读文件内容等等基本功能。 下面将介绍NSFileManager文件操作的十个小功能。我们在Doc...

TomatosX
2015/08/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring系列教程八: Spring实现事务的两种方式

一、 Spring事务概念: 事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。...

我叫小糖主
今天
5
0
CentOS 的基本使用

1. 使用 sudo 命令, 可以以 root 身份执行命令, 必须要在 /etc/sudoers 中定义普通用户 2. 设置 阿里云 yum 镜像, 参考 https://opsx.alibaba.com/mirror # 备份mv /etc/yum.repos.d/CentO...

北漂的我
昨天
2
0
Proxmox VE技巧 移除PVE “没有有效订阅” 的弹窗提示

登陆的时候提示没有有效的订阅You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options. 用的是免费版的,所以每次都提示......

以谁为师
昨天
3
0
Java设计模式之外观模式(门面模式)

什么是外观模式   外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口...

须臾之余
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部