2012-07-12 108 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