如何通過僅使用文件擴展名來獲取文件類型的描述,就像它在Finder.app中所做的一樣?換句話說,我想在NSString的那場:通過擴展獲取文件類型描述
0
A
回答
3
這裏有一個小東西快速「N」髒,說明你所需要的:
NSOpenPanel *openPanel = [[NSOpenPanel alloc] init];
[openPanel runModal];
NSString *path = [[openPanel URL] path];
NSString *type = [[NSWorkspace sharedWorkspace] typeOfFile:path error:NULL];
NSLog(@"%@", [[NSWorkspace sharedWorkspace] localizedDescriptionForType:type]);
開啓面板讓您選擇一個文件。 NSWorkspace
規定首先確定文件的UTI(給定其路徑),然後使用UTI獲取描述文件類型的本地化字符串。
編輯:
如果你正已得到了僅使用文件擴展名,然後用這三條線來代替上述的最後三個:
NSString *extension = [[[openPanel URL] path] pathExtension];
CFStringRef uti = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef) extension, NULL);
NSLog(@"%@", [[NSWorkspace sharedWorkspace] localizedDescriptionForType:(__bridge NSString *) uti]);
0
你應該得到的是通過提供文件的普及型標識符NSWorkspace的localizedDescriptionForType:
。
相關問題
- 1. 獲取擴展的給定擴展的人性化描述
- 2. Java獲取通用類型不擴展
- 3. Cocoa:獲取某些文件類型的人類可讀描述,只知道擴展名
- 4. 獲取描述屬性類型水平
- 5. 獲取類型的成員描述
- 6. 獲取枚舉值通過描述
- 7. Git上的擴展描述文本
- 8. 如何通過文件擴展名獲取多媒體類型的TCM URI
- 9. RSpec - 獲取描述類
- 10. Objective-C:獲取文件類型支持的文件擴展名
- 11. 按類型獲取文件而不使用文件擴展名
- 12. 如何使用Delphi從文件擴展名中獲取圖標和描述?
- 13. 獲取「無效的擴展描述符」編譯Flex原生擴展
- 14. 通過文件描述符 - Execve(typecast)
- 15. 獲取擴展類的文件名
- 16. 如何獲取描述基類型數組的類型?
- 17. 獲取文件描述符在Perl
- 18. 通過文件擴展名獲取擴展名和圖標的最快方法?
- 19. 的Python:確定文件類型通過查看它的擴展
- 20. WebStorm - 通過文件類型擴展限制查找用法
- 21. Kentico 9 - 頁面類型附件 - 通過API獲取允許的擴展
- 22. 獲取文件擴展名
- 23. 從文件獲取擴展
- 24. PHP file_put_contents獲取文件擴展名/類型
- 25. 獲取文件類型,而不是從擴展
- 26. 如何從字節[](Blob)獲取文件類型擴展名
- 27. 如何從內容類型獲取文件擴展名?
- 28. 獲取JavaScript中內容類型的默認文件擴展名?
- 29. 獲取原始文件擴展名和內容類型
- 30. 獲取不帶擴展名的文件類型c#
雖然@ Trudyscousin的答案似乎對我好,記'file'工具在命令行上完全相同。 – Cyrille