如何删除文件大小小于某个特定大小的文件夹中的所有文件(字节)

问题描述:

我有一个文件夹调用“Recorded”。里面说,现在有10个音频文件(.m4a)。这些文件(字节)的大小可能不同或相同。现在我想删除那个文件夹内的文件,其大小小于542 Bytes如何删除文件大小小于某个特定大小的文件夹中的所有文件(字节)

我可以从该文件夹发送“文件名”删除文件:

- (void)removeAudioFile:(NSString *) fileName 
{ 
    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 

    NSString *folder = [documentsPath stringByAppendingPathComponent:@"/Recorded"]; 
    NSString *filePath = [folder stringByAppendingPathComponent:fileName]; 
    NSError *error; 
    BOOL success = [fileManager removeItemAtPath:filePath error:&error]; 
    if (success) 
    { 

    } 
    else 
    { 
     NSLog(@"Could not delete file -:%@ ",[error localizedDescription]); 
    } 
} 

我可以用来衡量该文件夹内的特定文件大小:

-(void) FileSize:(NSString *) urlPath 
{ 
    NSError *attributesError; 
    NSString *path = [urlPath stringByAppendingString:@"/22Nov2014_02.19.50AM.m4a"]; 

    unsigned long long fileSize = [[[NSFileManager defaultManager] attributesOfItemAtPath:path error:&attributesError] fileSize]; 

    NSLog(@"file size %lld", fileSize); 
} 

我可以在里面删除所有文件该文件夹:

-(void) deleteAllFiles:(NSString *) urlPath 
{ 
    NSFileManager *fileMgr = [NSFileManager defaultManager]; 
    NSArray *fileArray = [fileMgr contentsOfDirectoryAtPath:urlPath error:nil]; 
    for (NSString *filename in fileArray) 
    { 
     [fileMgr removeItemAtPath:[urlPath stringByAppendingPathComponent:filename] error:NULL]; 
    } 
} 

但是我想要删除e文件大小小于542 Bytes的“已录制”内的文件。 如果您了解我的问题,请回复我。 非常感谢先进。

简单的检查,如果文件大小为542个字节,如果是这样删除它:

-(void) deleteAllFiles:(NSString *) urlPath 
{ 
    NSFileManager *fileMgr = [NSFileManager defaultManager]; 
    NSArray *fileArray = [fileMgr contentsOfDirectoryAtPath:urlPath error:nil]; 
    for (NSString *filename in fileArray) 
    { 
     NSString *filePath = [path stringByAppendingPathComponent:filename]; 
     unsigned long long fileSize = [[[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil] fileSize]; 
     if (fileSize < 542) [fileMgr removeItemAtPath:filePath error:NULL]; 
    } 
} 
+0

感谢的人。它正在工作。完善。 :) 祝您有美好的一天。 – Tulon 2014-11-22 18:50:38