xh410117 2016-07-13 08:41 采纳率: 40%
浏览 1063

iOS递归删除文件求解,有代码,但是效果没达到,求大神指点

 + (void)dele:(NSString *)path {
    NSFileManager *manager = [NSFileManager defaultManager];
    BOOL isDir = NO;
    BOOL isExist = [manager fileExistsAtPath:path isDirectory:&isDir];
    if (isExist) {
        if (isDir) {
            NSArray *dirArray = [manager contentsOfDirectoryAtPath:path error:nil];
            NSString *sub = nil;
            for (NSString *str in dirArray) {
                sub = [path stringByAppendingPathComponent:str];
                BOOL isSubDir = NO;
                [manager fileExistsAtPath:sub isDirectory:&isSubDir];
                [self dele:sub];
            }
        }else {
            [manager removeItemAtPath:path error:nil];
        }
    }else {
        NSLog(@"你查找的路径不存在");
    }
}

代码如上,这是在百度查到的,但是这个代码有点问题,就是文件夹中包含文件夹,就会进入下个文件夹,而无法删除文件了,求大神指点修改一下

  • 写回答

2条回答 默认 最新

  • Amber_0901 2016-07-13 08:43
    关注

    -(void)clearCache
    {
    NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)lastObject]stringByAppendingString:@"/Caches"];
    NSFileManager * manager = [NSFileManager defaultManager];
    if ([manager fileExistsAtPath:filePath]) {
    if ([manager fileExistsAtPath:filePath]){

            NSEnumerator *childFilesEnumerator = [[manager subpathsAtPath:filePath] objectEnumerator];
    
            NSString* fileName = nil;
    
            while ((fileName = [childFilesEnumerator nextObject]) != nil){
                NSString* fileAbsolutePath = [filePath stringByAppendingPathComponent:fileName];
                [manager removeItemAtPath:fileAbsolutePath error:nil];
            }
        }
    }
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作