IOS文件常用操作 NSFileManager----不断更新中

============================================================
博文原创,转载请声明出处
============================================================

-------文件的创建,遍历,得到文件属性(创建日期等),删除等操作

直接从工程里面扒出来的,不过写的很清晰。

NSDateFormatter * dateFormatter = [[[NSDateFormatter alloc] init]autorelease];
    [dateFormatter setDateFormat:@"yyyy_MM_dd"];
    NSString* dataStr = [dateFormatter stringFromDate:[NSDate date]];
    
    NSString *dicpath = [NSString stringWithFormat:@"%@/Documents/logs",NSHomeDirectory()];
    NSString *path = [NSString stringWithFormat:@"%@/log%@.html",dicpath,dataStr];
    NSFileManager *manager = [NSFileManager defaultManager];
    
    //如果不存在当天的日志,则新建
    if ([manager fileExistsAtPath:path] == NO) {
        //删除max interval 以上的log
        NSFileManager* fm= [[[NSFileManager alloc] init]autorelease];
        NSArray *levelList = [fm contentsOfDirectoryAtPath:dicpath error:nil ] ;
        
        for (NSString *fname  in levelList) {
            NSString *fpath = [NSString stringWithFormat:@"%@/%@",dicpath,fname];
            NSDictionary *fileAttributes = [manager attributesOfItemAtPath:fpath error:nil];
            NSDate * creationDate=nil;
            if ((creationDate = [fileAttributes objectForKey:NSFileCreationDate])) {
                NSTimeInterval interval = [creationDate timeIntervalSinceNow];
                //printf("%s's interval is: %f\n",[fpath UTF8String ],interval);
                if ((interval*-1) >MAX_INTERVAL*24*60*60) {
                    [manager removeItemAtPath:fpath error:nil];
                    //NSLog(@"delete file:%@ \n",fpath );
                }
            }
        }
        
        //创建新log
        [manager createDirectoryAtPath:dicpath withIntermediateDirectories:YES attributes:nil error:nil];
        [manager createFileAtPath:path contents:nil attributes:nil];
        
        ///Users/user/Library/Application Support/iPhone Simulator/5.1/Applications/5403DF94-1B63-4CCF-8A5B-548ED5902DBE/hello.app
        NSString *stylePath = [NSString stringWithFormat:@"%@/FALog.css",[[NSBundle mainBundle] resourcePath]];
        NSString *styleStr = [NSString stringWithContentsOfFile:stylePath encoding:NSUTF8StringEncoding error:nil];
        //        //NSLog(@"styleStr:%@",styleStr);
        str = [NSString stringWithFormat:@"%@ \n%@",styleStr,str];
        
    }
    
    NSDictionary * attributes = [manager attributesOfItemAtPath:path error:nil];
    long long fileSize = [[attributes objectForKey:NSFileSize] longLongValue];
    NSFileHandle *uFile = [NSFileHandle fileHandleForWritingAtPath:path];
    [uFile seekToFileOffset:fileSize];
    [uFile writeData:[str dataUsingEncoding:NSUTF8StringEncoding]];


-----得到file 大小

NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:URL error:&attributesError];

NSNumber *fileSizeNumber = [fileAttributes objectForKey:NSFileSize];
long long fileSize = [fileSizeNumber longLongValue];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值