在我的应用程序中,我使用NSFileManager使用以下代码获取文件夹中的文件数
NSFileManager *manager=[NSFileManager defaultManager];
NSString *path;
int numberofFiles=[[manager contentsOfDirectoryAtPath:path error:nil] count];
numberofFiles=numberofFiles-1; //number of files except .DS_Store
但我的问题是文件.DS_Store并不总是默认创建,那时我得到的计数少于该目录中实际存在的文件数。
NSFileManager中有一个方法返回除.DS_Store之外的文件数组 或者我必须使用-IsEqualToString方法手动排除 或者没有任何选项来创建没有.DS_Store文件的新目录。
答案 0 :(得分:2)
明确查找.DS_Store
文件,如果找到则调整计数:
NSFileManager *manager=[NSFileManager defaultManager];
NSString *path = ...; // Presumably this is a valid path?
NSArray *contents = [manager contentsOfDirectoryAtPath:path error:nil];
NSUInteger numberOfFiles = [contents count];
if ([contents indexOfObject:@".DS_Store"] != NSNotFound)
numberOfFiles--;
答案 1 :(得分:0)
试试这个..它为我工作..
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSFileManager *manager = [NSFileManager defaultManager];
NSArray *imageFilenames = [manager contentsOfDirectoryAtPath:documentsDirectory error:nil];
for (int i = 0; i < [imageFilenames count]; i++)
{
NSString *imageName = [NSString stringWithFormat:@"%@/%@",documentsDirectory,[imageFilenames objectAtIndex:i] ];
if (![[imageFilenames objectAtIndex:i]isEqualToString:@".DS_Store"])
{
UIImage *myimage = [UIImage imageWithContentsOfFile:imageName];
UIImageView *imageView = [[UIImageView alloc] initWithImage:_myimage];
}
}