如何获取文件夹中文件的数量? [复制]
Posted
技术标签:
【中文标题】如何获取文件夹中文件的数量? [复制]【英文标题】:How can i get the count of the files in a folder? [duplicate] 【发布时间】:2011-07-21 15:30:59 【问题描述】:如何在 ios 上获取文件夹中的文件数?
【问题讨论】:
【参考方案1】:NSFileManager *filemgr = [NSFileManager defaultManager];
NSArray *filelist= [filemgr directoryContentsAtPath: yourPath];
int count = [filelist count];
NSLog ("%i",count);
【讨论】:
directoryContentsAtPath:
已弃用。查看@bitmapdata.com 的回答【参考方案2】:
directoryContentsAtPath:
已弃用。
如果您想获取 Documents 文件夹的文件数。
试试这个。
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSArray *filelist= [fm contentsOfDirectoryAtPath:[docPaths objectAtIndex:0] error:nil];
int filesCount = [filelist count];
NSLog(@"filesCount:%d", filesCount);
【讨论】:
这是递归计数吗? @Patrick 不,这不是递归计数。 谢谢!快速提问,是否有任何内置方法可以按文件类型进行过滤,或者我应该遍历并检查名称?【参考方案3】:- (NSArray *)directoryContentsAtPath:(NSString *)path
已弃用。请改用- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error
。这意味着 Matt S 的上述代码将变为:
NSFileManager * filemgr = [NSFileManager defaultManager];
NSArray * filelist = [filemgr directoryContentsAtPath:yourPath error:nil];
int count = [filelist count];
NSLog("%d", count);
【讨论】:
【参考方案4】:NSArray* files = [[NSFileManager defaultManager] directoryContentsAtPath:DIRECTORY];
NSLog(@"%d",[files count]);
【讨论】:
以上是关于如何获取文件夹中文件的数量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如果我在 PL/SQL 中有文件的路径,如何获取文件夹的数量?