Удаление типов файлов из каталога документов
Я пытаюсь удалить все файлы в Справочнике документов с расширением ".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];
}
с помощью этого кода я могу удалить один файл с определенным именем.
Может ли кто-нибудь помочь мне удалить все файлы с определенным расширением?
С уважением,
Снежный
Ответы
Ответ 1
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];
}
}
Ответ 2
// 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];
Для получения дополнительной информации
Как удалить ВСЕ ФАЙЛЫ в указанном каталоге в приложении?
Ответ 3
очень простой метод:
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *imageName = [NSString stringWithFormat:@"demo.jpg"];
[fileManager removeItemAtPath:imageName error:NULL];
Ответ 4
Если вы предпочитаете быстрое перечисление:
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];
}
}