我正在尝试获取给定文件的文件类型(在列表视图中的Finder中显示)。有没有一种简单的方法来实现这一目标?
答案 0 :(得分:3)
查看NSWorkspace的-typeOfFile:error:
和-localizedDescriptionForType:
方法。这是一个命令行工具的快速示例,它将在您运行它时打印您指定为参数的文件的信息:
#import <Cocoa/Cocoa.h>
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
if (argc > 1) {
for(int i = 1; i < argc; ++i) {
NSString *theFile = [NSString stringWithFormat:@"%s", argv[i]];
NSWorkspace *ws = [NSWorkspace sharedWorkspace];
NSString *fileType = [ws typeOfFile:theFile error:nil];
NSString *fileDesc = [ws localizedDescriptionForType:fileType];
NSLog(@"File:%@ Type:%@ Description:%@", theFile, fileType, fileDesc);
}
}
[pool drain];
return 0;
}
请注意,Xcode的默认“命令行工具”项目仅链接到Foundation - 您需要将其#include更改为Cocoa,如果要构建上述示例,则添加Cocoa.framework。你可能不需要构建它 - 它很简单,你可以在不这样做的情况下获得你需要的信息。