【发布时间】:2011-11-18 10:23:04
【问题描述】:
我通常使用NSBundle获取路径。
但是,NSBundle 不包含 Documents 文件夹。
如何获取 Documents 目录中文件的所有路径(或名称)?
【问题讨论】:
标签: ios iphone xcode nsfilemanager nsbundle
我通常使用NSBundle获取路径。
但是,NSBundle 不包含 Documents 文件夹。
如何获取 Documents 目录中文件的所有路径(或名称)?
【问题讨论】:
标签: ios iphone xcode nsfilemanager nsbundle
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
要从中获取文件,您必须提供路径结构...
NSString *fileName = @"default.png";
NSString *folderPath = [documentsDirectory stringByAppendingPathComponent:@"%@", fileName];
folderPath 将返回给定文件名的位置。
【讨论】:
这将为您提供文档目录下所有文件的路径
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil];
NSLog(@"files array %@", filePathsArray);
您可以使用以下代码获取 filePathsArray 中每个对象的路径
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[filePathsArray objectAtIndex:0]];
【讨论】:
这里很快。
打印语句将打印所有可用路径
func getDocumentsDirectory() -> URL {
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
print("Paths - \(paths)")
let documentsDirectory = paths[0]
return documentsDirectory
}
【讨论】: