iOS 文件属性读取与写入

二、文件属性的读取与修改

2.1文件属性读取
    NSString *strPath =[[NSBundle mainBundle] pathForResource:@"lomo.jpg" ofType:nil];  
    NSLog(@"path:%@", strPath);  
    NSFileManager *fileManager = [NSFileManager defaultManager];  
    NSString *path = strPath;//@"/tmp/List";  
    NSError *error = nil;  
    NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:path error:&error];  
      
    if (fileAttributes != nil) {  
        NSNumber *fileSize = [fileAttributes objectForKey:NSFileSize];  
        NSString *fileOwner = [fileAttributes objectForKey:NSFileOwnerAccountName];  
        NSDate *fileModDate = [fileAttributes objectForKey:NSFileModificationDate];  
        NSDate *fileCreateDate = [fileAttributes objectForKey:NSFileCreationDate];  
        if (fileSize) {  
            NSLog(@"File size: %qi\n", [fileSize unsignedLongLongValue]);  
        }  
        if (fileOwner) {  
            NSLog(@"Owner: %@\n", fileOwner);  
        }  
        if (fileModDate) {  
            NSLog(@"Modification date: %@\n", fileModDate);  
        }  
        if (fileCreateDate) {  
            NSLog(@"create date:%@\n", fileModDate);  
        }  
    }  
    else {  
        NSLog(@"Path (%@) is invalid.", path);  
    }
2.2文件属性修改与写入

我们从2.1可知,文件属性具有类似,而不是简单只有的NSString或者NSInteger类型,因此,我们的写入类型和读取类型一致便可以写入。

- (BOOL)setAttributes:(NSDictionary<NSString *, id> *)attributes ofItemAtPath:(NSString *)path error:(NSError * _Nullable *)error

 主要属性如下

NSFileBusy,

NSFileCreationDate,

NSFileExtensionHidden,

NSFileGroupOwnerAccountID,

NSFileGroupOwnerAccountName,

NSFileHFSCreatorCode,

NSFileHFSTypeCode,

NSFileImmutable,

 NSFileModificationDate,

NSFileOwnerAccountID,

NSFileOwnerAccountName

NSFilePosixPermissions.



NSError &error;
[NSFileManager defaultManager] setAttributes:@{NSFileModificationDate:[NSDate date],NSFileCreationDate:[NSDate date],NSFileOwnerAccountName:@""}  ofItemAtPath:filePath error:&error];

NSFileOwnerAccountName我们可以在设置成http中的eTag


必要性:修改文件modify时间可以让我们移动开发中更好的处理断点续传和http304缓存。


注意:

有些文件可以修改成功,有些则修改失败。

目前测试不足,具体可以确定,非执行文件的修改时间可以修改成功,类似html可执行文件则出现了失败情况。



转载于:https://my.oschina.net/ososchina/blog/668372

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值