我有以下代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
但是我对如何获取所有文件名并将它们分配给数组一无所知?
任何帮助都将不胜感激。
答案 0 :(得分:11)
NSFileManager有一个名为contentsOfDirectoryAtPath:error:
的方法,它返回该目录中所有文件的数组。
你可以像这样使用它:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
if([paths count] > 0)
{
NSString *documentsDirectory = [paths objectAtIndex:0];
NSError *error = nil;
NSArray *documentArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:&error];
if(error)
{
NSLog(@"Could not get list of documents in directory, error = %@",error);
}
}
documentsArray
对象将包含该目录中所有文件的列表。
答案 1 :(得分:4)
使用NSFileManager的contentsOfDirectoryAtPath:error:
方法。
答案 2 :(得分:1)
NSError *error;
NSFileManager* fileMgr = [NSFileManager defaultManager];
NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSArray* documentsArray = [fileMgr contentsOfDirectoryAtPath:documentsDirectory error:&error];
[documentsArray count];
另一种方法是为那些设置不同的人做这件事。