1

我已经搜索过这个,但我没有得到正确的关键字来获得结果。所以我带着问题来了。这是我的问题。

如何给出 if 条件进行检查,给定的 NSURL 路径是否用于 FOLDER(或)文本文件。
例如:

 if ([the given url is for FOlDERS])  
 {
    //i want to so something
 }
 else if([it contains .rtf files])
 {
    //i want to so something
 }
  else if([it contains .mov files])
  {
    //i want to so something
  }        

我的网址是

Users/Desktop/dr/dg.rtf  
Users/Desktop/dr/dhoom.mov  
Users/Desktop/dr/SampleTest/

给我一些建议。,

4

3 回答 3

2
NSURL *url;
//set url here

if([url isFileURL])
{
  if([url pathExtension] isEqualToString:@"mov"])
  {
    //do .mov stuff
  }
  else if([url pathExtension] isEqualToString:@"rtf"]
  {
    //do .rtf stuff
  }
}
else
{
   if([[url lastPathComponent] isEqualToString:@"SampleTest"])
   {
     //do your SampleTest folder stuff
   }
}
于 2012-07-12T13:51:23.947 回答
1

这个怎么样?

BOOL isDir;
NSURL *yourURL;

NSFileManager *fileManager = [[NSFileManager alloc] init];
BOOL result = [fileManager fileExistsAtPath:[yourURL path] isDirectory:&isDir];
if (result) {
    // ok yourURL is pointing to something real
    if (isDir) {
        // yourURL is a directory
    }
    else if ([[yourURL pathExtension] isEqualToString:@"mov"])
    {
        // yourURL is a .mov
    }
    else if ([[yourURL pathExtension] isEqualToString:@"rtf"])
    {
        // yourURL is a .rtf
    }
}
[fileManager release];

Michalwerner答案与固定语法相结合。

于 2012-07-12T15:41:20.447 回答
0

请查看. _NSFileManager

它包含一个完全符合您需要的方法:

- (BOOL)fileExistsAtPath:(NSString *)path isDirectory:(BOOL *)isDirectory
于 2012-07-12T11:13:51.557 回答