使用NSFileManager从内存中删除所有文件

时间:2013-03-22 11:54:10

标签: ios objective-c

如何删除使用NSFileManager保存的所有文件?我找到了类似下面的代码,但你需要提供filePath,因为我需要删除我保存的所有图像,我不知道所有的图像路径/名称?

[[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL];

2 个答案:

答案 0 :(得分:0)

首先获取该特定文件夹中的所有项目:

NSString  *filePath = [NSString stringWithFormat:@"your folder path where you have saved those images"];
NSArray *files = [fileManager contentsOfDirectoryAtPath:filePath 
                                                  error:nil];

这将是文件数组循环遍历数组。并使用:

  for(NSString *filename in files)
   {
    NSString  *filePath = [NSString stringWithFormat:@"filepath/%@",filename];
    [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL];
   }

这应该可以解决问题。

答案 1 :(得分:0)

您必须将图像保存到文件目录,图书馆,缓存或临时文件夹等任何文件夹。您需要使用以下代码获取保存图像的任何目录内的所有图像。

-(NSArray*)getImagesFromDirectory:(NSString*)imageDirectoryPath{

   NSFileManager *fileManager = [[NSFileManager alloc] init];
   NSArray *files = [fileManager contentsOfDirectoryAtPath:imageDirectoryPath 
                                          error:nil];
   return files;
}

然后循环删除路径中的图像

 NSArray *images=[self getImagesFromDirectory:@"DIRECTORYPATH"];
 NSFileManager * fileManager = [[NSFileManager alloc] init];
 for(NSString *imagePath in images){
     [fileManager removeItemAtPath:imagePath];
 }