如何删除文件大小小于某个特定大小的文件夹中的所有文件(字节)
问题描述:
我有一个文件夹调用“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];
}
}
感谢的人。它正在工作。完善。 :) 祝您有美好的一天。 – Tulon 2014-11-22 18:50:38