2011-04-28 15 views
12

से फ़ाइल प्रकारों को निकालें, मैं कई कोशिशों के बाद, ".jpg" एक्सटेंशन के साथ दस्तावेज़ निर्देशिका में सभी फ़ाइलों को हटाने का प्रयास कर रहा हूं, मैं अभी भी सफल होने में सफल नहीं हूं।दस्तावेज़ निर्देशिका

कोड मैं पहले से ही अब है:

-(void)removeOneImage:(NSString*)fileName { 
NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpg", fileName]]; 
[fileManager removeItemAtPath: fullPath error:NULL]; 
} 
इस कोड के साथ

मैं एक खास नाम वाली एक फ़ाइल निकाल सकते हैं।

क्या कोई मुझे किसी विशिष्ट एक्सटेंशन के साथ सभी फ़ाइलों को हटाने में मदद कर सकता है?

सधन्यवाद,

हिमाच्छन्न

उत्तर

37
NSString *extension = @"jpg"; 
NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

NSArray *contents = [fileManager contentsOfDirectoryAtPath:documentsDirectory error:NULL]; 
NSEnumerator *e = [contents objectEnumerator]; 
NSString *filename; 
while ((filename = [e nextObject])) { 

    if ([[filename pathExtension] isEqualToString:extension]) { 

     [fileManager removeItemAtPath:[documentsDirectory stringByAppendingPathComponent:filename] error:NULL]; 
    } 
} 
+1

हाय, यह मेरे लिए चाल किया! बहुत बहुत धन्यवाद :) – Snowy

+0

आपका कोड काम कर रहा है ... अच्छी तरह से किया गया – Akshay

3
// Get the Documents directory path 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectoryPath = [paths objectAtIndex:0]; 

// Delete the file using NSFileManager 
NSFileManager *fileManager = [NSFileManager defaultManager]; 
[fileManager removeItemAtPath:[documentsDirectoryPath stringByAppendingPathComponent:yourFile.txt] error:nil]; 

अधिक जानकारी के लिए

How to delete ALL FILES in a specified directory on the app?

2

बहुत ही सरल तरीका:

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSString *imageName = [NSString stringWithFormat:@"demo.jpg"]; 
[fileManager removeItemAtPath:imageName error:NULL]; 
1

आप तेजी से गणन पसंद करते हैं:

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; 
NSString *extension = @"jpg"; 

NSArray *contents = [fileManager contentsOfDirectoryAtPath:documentsDirectory error:nil]; 

for (NSString *file in contents) { 
    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:file]; 

    if (([[file pathExtension] isEqualToString:extension]) && [fileManager isDeletableFileAtPath:filePath]) { 
     [fileManager removeItemAtPath:filePath error:nil]; 
    } 
} 
संबंधित मुद्दे