Iphone 获取文档目录中的目录数组
我试图返回应用程序文档目录中的目录列表。我能够得到一个包含给定扩展名的所有文件(例如.txt文件或.png文件)的数组,并且能够返回所有内容(包括目录)。当我只想返回目录时,问题就出现了。有没有一个简单的方法可以做到这一点 以下是我返回所有.txt文件的代码:Iphone 获取文档目录中的目录数组,iphone,nsfilemanager,Iphone,Nsfilemanager,我试图返回应用程序文档目录中的目录列表。我能够得到一个包含给定扩展名的所有文件(例如.txt文件或.png文件)的数组,并且能够返回所有内容(包括目录)。当我只想返回目录时,问题就出现了。有没有一个简单的方法可以做到这一点 以下是我返回所有.txt文件的代码: - (ViewController *) init { if (self = [super init]) self.title = @"Text Files"; // get the list of .txt files
- (ViewController *) init {
if (self = [super init]) self.title = @"Text Files";
// get the list of .txt files
directoryList = [[[[NSFileManager defaultManager] directoryContentsAtPath:DOCUMENTS_FOLDER]
pathsMatchingExtensions:[NSArray arrayWithObjects:@".txt", nil]] retain];
NSLog(@"%@", directoryList);
return self;
}
和所有的文件
- (ViewController *) init {
if (self = [super init]) self.title = @"Text Files";
// get the list of all files and directories
directoryList = [[[NSFileManager defaultManager] directoryContentsAtPath:DOCUMENTS_FOLDER] retain];
NSLog(@"%@", directoryList);
return self;
}
试试这个:
- (ViewController *) init {
if (self = [super init]) self.title = @"Text Files";
// get the list of all files and directories
NSFileManager *fM = [NSFileManager defaultManager];
fileList = [[fM directoryContentsAtPath:DOCUMENTS_FOLDER] retain];
NSMutableArray *directoryList = [[NSMutableArray alloc] init];
for(NSString *file in fileList) {
NSString *path = [DOCUMENTS_FOLDER stringByAppendingPathComponent:file];
BOOL isDir = NO;
[fM fileExistsAtPath:path isDirectory:(&isDir)];
if(isDir) {
[directoryList addObject:file];
}
}
NSLog(@"%@", directoryList);
return self;
}
卢格先生写了这一切,只有一件事
fileList = [[fM directoryContentsAtPath:DOCUMENTS_FOLDER];
取而代之
fileList = [fileManager contentsOfDirectoryAtPath:filePath error:nil];
回答得很好。不知道fileExistsAtPath:isDirectory:instance方法;我将阅读NSFileManager文档。DirectoryContentsPath:已弃用。必须是DirectoryAtPath的子路径:instead@DerWOK这两种方法做的事情非常不同<代码>子路径目录路径:错误:递归列出子路径。
directoryContentsAtPath:
的正确替换为contentsOfDirectoryAtPath:error:
正确。不推荐使用“directoryContentsAtPath”。