嘿伙计我一直陷入这样的境地:我想知道几个没有扩展名的文件的文件类型。到目前为止,我知道每个文件都与UTI标识符和扩展名相关联。
1。在我的情况下,文件扩展名不可用,所以没有问题。
2。文件没有扩展名。
Apple documentation over file system over O.S
One of stack overflow reference
我也来过这里,但我猜想有一些我不知道的或者是匿名的方向。
必须感谢您的帮助。
答案 0 :(得分:0)
UTI旨在允许在应用程序之间传递类型化数据,例如通过剪贴板发送图像。只要数据标记有适当的UTI,就可以为能够处理该类型数据的消费者提供数据。
将数据放在粘贴板上的应用程序负责确定placed onto the pasteboard的适当UTI。
确定文件的UTI时,操作系统会获得此from the extension that is used。这是操作系统在查看文件时用于确定UTI的唯一源。如果文件没有扩展名,则会获得UTI public.data
。
相反,Mac OS X从其他信息派生UTI,主要是 - 和tragically - 来自文件扩展名。
UTI不会以任何形式存储/缓存/保留在文件系统上,除了文件扩展名的形式。
除了使用文件扩展名之外,唯一可用的机制是使用像file
这样的工具,或者它的库libmagic
,它是文件程序分发的一部分,用于询问文件以确定它可能是文件类型。
答案 1 :(得分:-1)
你可以试试这个:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *directoryContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:nil];
NSString *fileName = @"YOUR_FILE_NAME";
for (NSString *file in directoryContent )
{
NSString *fileNameWithOutExt= [file stringByDeletingPathExtension];
if([fileName isEqualToString:fileNameWithOutExt])
{
NSLog(@"Found");
}
}