如何在目标c中查找文件类型

Jus*_*tin 2 file objective-c nsfilemanager

我对此做了很多研究,但没有发现任何有用的东西.我想在目标c中制作一个简单的程序供个人使用,打开文件并提供有关它们的信息.我遇到的唯一问题是我找不到我正在打开的文件的文件.没有简单地查看扩展,有没有办法在目标c中找到文件的完整文件格式?

如果可能的话,我还希望能够以不同的格式保存该文件.有关此主题的信息对于此应用程序也很重要.将非常感谢帮助.

ugh*_*fhw 6

Mac OS X具有附加到每个文件的类型信息,用于指定文件的类型.此信息由上次保存文件的应用程序提供,因此不一定正确.此外,新版本的OS X会忽略此信息并完全脱离文件扩展名.但是,信息仍然存储,可以使用NSFileManager的attributesOfItemAtPath:error:方法检索.

如上面的quixoto所述,OS X现在将扩展映射到UTI.可以使用NSWorkspace检索文件的UTI,它还可以告诉您UTI的含义.此代码将获取文件的本地化描述/full/path/to/file:

NSWorkspace *ws = [NSWorkspace sharedWorkspace];
NSString *description = [ws localizedDescriptionForType:[ws typeOfFile:@"/full/path/to/file" error:nil]];
Run Code Online (Sandbox Code Playgroud)

typeOfFile:error:方法需要绝对路径.