2
我正在嘗試獲取給定文件的文件類型(列表視圖中的Finder中顯示的文件類型)。有沒有簡單的方法來實現這一點?在Mac OS中獲取文件類型
我正在嘗試獲取給定文件的文件類型(列表視圖中的Finder中顯示的文件類型)。有沒有簡單的方法來實現這一點?在Mac OS中獲取文件類型
看看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的默認「命令行工具」項目只鏈接到基金會 - 你如果你想構建上面的例子,需要將#include改爲Cocoa,並添加Cocoa.framework。你可能不需要構建它 - 它很簡單,你可能會得到你所需要的信息而沒有做到這一點。
+1;比我快半分鐘。 ;) – Wevah 2011-03-30 20:21:59
Wery很好的答案和解釋!非常感謝。 – 2011-04-01 05:19:29