Swift文件系统元数据URLResourceKey
Swift文件系统元数据URLResourceKey

Swift文件系统元数据URLResourceKey

URLResourceKey是文件系统“元数据字段的键名集合”。用于告诉系统需要读取或提前缓存的文件属性,例如文件大小、是否目录等字段。

基本用法

1、单文件读取

配合resourceValues获取文件 URL 各种元数据属性。

let values = try fileURL.resourceValues(forKeys: [.fileSizeKey])
print(values.fileSize)

2、获取单个属性

let size = try url.resourceValues(forKeys: [.fileSizeKey]).fileSize

3、批量预加载属性

FileManager.default.enumerator(
    at: url,
    includingPropertiesForKeys: [.fileSizeKey]
)

4、设置文件属性

try url.setResourceValue(true, forKey: .isExcludedFromBackupKey)

常用字段

1、文件类型

isRegularFileKey:是否是常规(普通)文件。

isDirectoryKey:是否目录。

isSymbolicLinkKey:是否符号链接。

isPackageKey:是否包。

isHiddenKey:是否隐藏。

2、存储大小

fileSizeKey:文件逻辑大小(单位:字节)。

totalFileSizeKey:对于包或目录,返回其总大小。

fileAllocatedSizeKey:实际磁盘占用。

totalFileAllocatedSizeKey:实际占用(完整)。

3、时间类

creationDateKey:创建时间。

contentModificationDateKey:最后修改时间。

contentAccessDateKey:最后访问时间,清理长期未使用缓存。

4、权限类

isReadableKey:是否可读。

isWritableKey:是否可写。

isExecutableKey:是否可执行。

5、类型标识

typeIdentifierKey (UTI):类型标识符。

localizedTypeDescriptionKey:本地化类型描述(用户可读)。

6、扩展属性

nameKey:文件名称。

tagNamesKey:Finder标签(颜色标签),例如 [“Red”, “Work”]。

localizedNameKey:本地化名称(如显示名)。

isExcludedFromBackupKey:是否被排除在时间机器/ iCloud 备份之外,true表示不参与系统备份,temp等临时文件应该设置为true。

try url.setResourceValue(true, forKey: .isExcludedFromBackupKey)

fileResourceTypeKey:文件类型(目录、文件、符号链接等)。

volumeAvailableCapacityKey:所在卷的剩余容量。

总结

URLResourceKey类型可以描述需要读取的哪一类文件属性。

相关文章

1、Swift获取文件URL的元数据属性

2、Swift管理文件的FileManager类

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注