[Object C]_[初级]_[文件修改创建时间和修改时间]

来源:互联网 发布:中国海关进出口数据库 编辑:程序博客网 时间:2024/05/29 16:31

场景:用一些软件把手机上面的文件,如图片、音乐、视频、电子书等文件导出到电脑上,文件的创建时间和修改时间是当前系统的时间,与手机不能保持一致。为了实现与手机文件一致,手动修改导出的文件的创建时间和修改时间。

具体示例:

#import <Foundation/Foundation.h>NSDate *stringToDate(NSString* timeStr){    NSDateFormatter *formatter =[NSDateFormatter new];    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];    NSDate *date =[formatter dateFromString:timeStr];    [formatter release];    return date;}NSString *dateToString(NSDate* date){    NSDateFormatter *formatter =[NSDateFormatter new];    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];        NSString *currentTime =[formatter stringFromDate:date];    [formatter release];    return currentTime;}void ModifyFileCreateTimeAndModifyTime(){        NSFileManager *fm =[NSFileManager defaultManager];    NSString *filePath =@"/Users/mac-d1/work/7788/11.vcf";    NSDate *timeDate =stringToDate(@"2015-02-23 12:50:40");    NSDictionary *dic =[[NSDictionary alloc] initWithObjectsAndKeys:timeDate,NSFileCreationDate,timeDate,NSFileModificationDate,nil];    //重新设置文件的创建时间和修改时间    BOOL value= [fm setAttributes:dic ofItemAtPath:filePath error:nil];    if (value)    {        //获取文件的属性词典        NSDictionary *attr =[fm attributesOfItemAtPath:filePath error:nil];        //获取文件的创建时间        NSDate *createDate = [attr objectForKey:NSFileCreationDate];        //获取文件的修改时间        NSDate *modifiedDate = [attr objectForKey:NSFileModificationDate];        NSString *createStr =dateToString(createDate);        NSString *modifiedStr =dateToString(modifiedDate);        NSLog(@"create:%@,modify:%@",createStr,modifiedStr);    }    else    {        NSLog(@"修改文件的时间失败");    }    }int main(int argc, const char * argv[]){    @autoreleasepool {                // insert code here...        NSLog(@"Hello, World!");        ModifyFileCreateTimeAndModifyTime();            }    return 0;}


文件没有修改之前:


文件修改之后:



0 0
原创粉丝点击