iOS NSFileManeger 計算檔案是否逾時,和計算檔案夾下檔案的總大小

來源:互聯網
上載者:User

標籤:

//獲得指定檔案距離上次修改時間是否達到了指定值(秒)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;

}



iOS NSFileManeger 計算檔案是否逾時,和計算檔案夾下檔案的總大小

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.