iOS 删除文件夹下所有文件

源:http://www.cnblogs.com/easonoutlook/archive/2012/09/09/2677893.html

有时候需要在iOS系统里面,删除指定文件夹的内容,文件夹里面可能是文件,也可能包含有文件夹。

删除指定类型的文件。方法如下:

NSString  *extension = @ "m4r" ;
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 ];
     }
}

 

删除sandbox 里面的Documents目录里面的文件夹

NSArray *contents,里面对应的是文件夹里面的内容,可以使用NSLog()打印输出

然后通过NSEnumerator枚举出来。判断扩展名是否为m4r,如果是,则删除。



用上边的办法封装了一个方法,传入path和扩展名前缀:

-(void)removeContentsOfDirectory:(NSString*)directory withExtension:(NSString*)extension
{
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSArray *contents = [fileManager contentsOfDirectoryAtPath:directory error:NULL];
    NSEnumerator *e = [contents objectEnumerator];
    NSString *filename;
    while ((filename = [e nextObject])) {
        if (extension != nil) {
            if ([[filename pathExtension] hasPrefix:extension]) {
                
                [fileManager removeItemAtPath:[directory stringByAppendingPathComponent:filename] error:NULL];
            }
        }else{
            [fileManager removeItemAtPath:[directory stringByAppendingPathComponent:filename] error:NULL];
        }
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值