Vraag Verwijder bestandstypen uit de Documenten Directory


ik probeer alle bestanden in de Document Directory te verwijderen met de extensie ".jpg", na veel pogingen slaag ik er nog steeds niet in om te slagen.

de code die ik nu al heb is:

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

met deze code kan ik een bestand met een specifieke naam verwijderen.

Kan iemand me helpen om alle bestanden met een specifieke extensie te verwijderen?

Vriendelijke groeten,

besneeuwd


12
2018-04-28 13:09


oorsprong


antwoorden:


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

37
2018-04-28 13:23



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

Voor meer informatie

Hoe verwijder ik ALLE BESTANDEN in een bepaalde map in de app?


3
2018-04-28 13:33



zeer eenvoudige methode:

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

2
2017-12-13 12:59



Als u de voorkeur geeft aan snelle opsomming:

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

1
2018-02-12 10:22