从选定文件夹中获取大小 >100MB 的文件列表及其路径 objective c
Get the list of files from selected folders having sizes >100MB with their paths objective c
我想获取我的 mac 系统的所有文件及其路径和大小的列表。
据此,我只想过滤那些文件大小超过 100 MB 的文件。
我使用以下代码获得了系统的大小。
NSError *error;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSDictionary *fileAttributes = [fileManager attributesOfFileSystemForPath:@"/" error:&error];
现在我想获取文件列表及其路径和大小。
找了很多都没有满足我的要求
请帮我解决这个问题。
提前致谢...
我得到了以下场景的解决方案。
感谢CRD给我出主意。
首先,我取了一个文件夹的路径。然后为了仅获取子文件夹,我使用 NSDirectoryEnumerator
然后我使用代码来查找文件的大小。
获得文件大小后,我检查文件大小并添加到我的数组中。
所以成功了。
NSString *Path = [NSString stringWithFormat:@"/Users/%@/",NSUserName()];
NSDirectoryEnumerator *de = [[NSFileManager defaultManager] enumeratorAtPath:Path];
NSString *file;
NSMutableArray *arrList = [[NSMutableArray alloc]init];
while ((file = [de nextObject]))
NSLog(@"file %@",file);
Path = [NSString stringWithFormat:@"/Users/%@/",NSUserName()];
Path = [Path stringByAppendingString:file];
NSLog(@"path %@",Path);
NSError *attributesError = nil;
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:Path error:&attributesError];
NSNumber *fileSizeNumber = [fileAttributes objectForKey:NSFileSize];
long long fileSize = [fileSizeNumber longLongValue];
NSLog(@"%lld",fileSize);
float sizeKB = ((float)fileSize / 1000);
NSLog(@"%f",sizeKB);
float sizeMB = ((float)fileSize / 1000000);
NSLog(@"%f",sizeMB);
if (sizeMB >= 100.0)
{
[arrList addObject:file];
[test addObject:file.lastPathComponent];
}
希望它对其他人也有帮助。
我想获取我的 mac 系统的所有文件及其路径和大小的列表。
据此,我只想过滤那些文件大小超过 100 MB 的文件。
我使用以下代码获得了系统的大小。
NSError *error;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSDictionary *fileAttributes = [fileManager attributesOfFileSystemForPath:@"/" error:&error];
现在我想获取文件列表及其路径和大小。
找了很多都没有满足我的要求
请帮我解决这个问题。
提前致谢...
我得到了以下场景的解决方案。
感谢CRD给我出主意。
首先,我取了一个文件夹的路径。然后为了仅获取子文件夹,我使用 NSDirectoryEnumerator
然后我使用代码来查找文件的大小。
获得文件大小后,我检查文件大小并添加到我的数组中。
所以成功了。
NSString *Path = [NSString stringWithFormat:@"/Users/%@/",NSUserName()];
NSDirectoryEnumerator *de = [[NSFileManager defaultManager] enumeratorAtPath:Path];
NSString *file;
NSMutableArray *arrList = [[NSMutableArray alloc]init];
while ((file = [de nextObject]))
NSLog(@"file %@",file);
Path = [NSString stringWithFormat:@"/Users/%@/",NSUserName()];
Path = [Path stringByAppendingString:file];
NSLog(@"path %@",Path);
NSError *attributesError = nil;
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:Path error:&attributesError];
NSNumber *fileSizeNumber = [fileAttributes objectForKey:NSFileSize];
long long fileSize = [fileSizeNumber longLongValue];
NSLog(@"%lld",fileSize);
float sizeKB = ((float)fileSize / 1000);
NSLog(@"%f",sizeKB);
float sizeMB = ((float)fileSize / 1000000);
NSLog(@"%f",sizeMB);
if (sizeMB >= 100.0)
{
[arrList addObject:file];
[test addObject:file.lastPathComponent];
}
希望它对其他人也有帮助。