如何检测USB驱动器是NTFS还是FAT32 in objective-c
问题描述:
当用户插入新的USB驱动器时,有没有办法在objective-c中检测此驱动器是否为NTFS或FAT32。如果可能,你可以给我看一个简单的演示吗?如何检测USB驱动器是NTFS还是FAT32 in objective-c
谢谢!
答
您可以使用NSWorkspace
的-getFileSystemInfoForPath:isRemovable:isWritable:isUnmountable:description:type:
选择器来获取文件系统(以及其他列出的属性)。
看看苹果的official documentation。除fullPath
之外的所有参数都是out参数(fullPath是文件系统的挂载点),所以变量的值将被更改。 path:
参数是返回包含文件系统类型名称的字符串的参数。
答
为什么你真的在乎它是NTFS还是FAT32?我没有办法轻易做到这一点。如果你关心音量是否可写,那看起来是可行的。
首先,你可以用的NSFileManager方法安装卷的列表:
– mountedVolumeURLsIncludingResourceValuesForKeys:options:
你会得到NSURL的NSArray中的对象。随着NSURL您可以用这样的方法:
– resourceValuesForKeys:error:
有各种不同的音量键的信息在里面。例如,“NSURLVolumeIsReadOnlyKey”。
可能因为两者有不同的限制/限制。 – uchuugaka 2013-04-27 13:18:04