2012-07-12 104 views
1

我已经搜索过这个,但是我没有得到正确的关键字来得到结果。 所以我带着问题来。 这是我的问题。NSURL比较:与不同网址对比

如何给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 
    }   

我的URL被

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

给我一些建议,

回答

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]; 

米哈尔维尔纳答案与预定语法的组合。

+0

谢谢安东尼,我知道了,。,这个答案帮助我,。, – Manikandan 2012-07-13 04:03:35

0

请大家看看documentationNSFileManager

它包含不正是你所需要的方法:

- (BOOL)fileExistsAtPath:(NSString *)path isDirectory:(BOOL *)isDirectory 
+0

我不认为这正是他所需要的。 – trojanfoe 2012-07-12 11:42:51

+0

是的。我不想检查文件是否存在或不存在。我想检查给定的url是否用于文件夹(或)某种文件。 – Manikandan 2012-07-12 11:47:55

+0

好的,你能否详细说明你如何获取URL,因为这将有助于建议更好的方法 – werner 2012-07-12 13:40:07

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 
    } 
} 
+0

不仅sampleTest有这么多的文件夹。我需要完全检查..怎么办,我, – Manikandan 2012-07-13 03:44:27

+0

我明白了。谢谢你的帮助 – Manikandan 2012-07-13 03:50:54