我有一个文件夹调用“Recorded”。在里面说,现在有10个音频文件(.m4a
)。这些文件(字节)的大小可以不同或相同。现在我想删除那个文件夹内的文件,这些文件的大小小于542 Bytes
。
我可以从该文件夹中删除发送“fileName”:
的文件- (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];
}
}
但我想删除文件大小小于542 Bytes
的“Recorded”中的那些文件。
如果您理解我的问题,请回复我。
非常感谢先进。
答案 0 :(得分:1)
只需检查文件大小是否低于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];
}
}