【发布时间】:2013-04-27 13:43:07
【问题描述】:
当用户插入新的USB驱动器时,有没有办法在objective-c中检测这个驱动器是NTFS还是FAT32。如果可能的话,你能给我看一个简单的演示吗?
谢谢!
【问题讨论】:
标签: objective-c macos cocoa
当用户插入新的USB驱动器时,有没有办法在objective-c中检测这个驱动器是NTFS还是FAT32。如果可能的话,你能给我看一个简单的演示吗?
谢谢!
【问题讨论】:
标签: objective-c macos cocoa
您可以使用NSWorkspace 的-getFileSystemInfoForPath:isRemovable:isWritable:isUnmountable:description:type: 选择器来获取文件系统(以及其他列出的属性)。
查看 Apple 的 official documentation。除了fullPath之外的所有参数都是out参数(fullPath是文件系统的挂载点),所以变量的值会改变。 path: 参数将返回包含文件系统类型名称的字符串。
【讨论】:
您为什么真正关心它是 NTFS 还是 FAT32?我没有看到轻松做到这一点的方法。如果您关心卷是否可写,那看起来是可行的。
首先,您可以使用 NSFileManager 方法获取已安装卷的列表:
– mountedVolumeURLsIncludingResourceValuesForKeys:options:
你会得到一个由 NSURL 对象组成的 NSArray。使用 NSURL,您可以使用如下方法:
– resourceValuesForKeys:error:
里面有各种卷信息键。例如,“NSURLVolumeIsReadOnlyKey”。
【讨论】: