如何将文件保存到无临时目录并查看该目录中文件的内容?
Posted
技术标签:
【中文标题】如何将文件保存到无临时目录并查看该目录中文件的内容?【英文标题】:How to save files to none temp directory and view contents of files in that directory? 【发布时间】:2011-11-13 11:40:31 【问题描述】:a)在我的应用程序中,我希望能够将文件保存到一个目录,在安装应用程序时它们不会从其中消失。我可以在哪里保存它们?
b)我还希望能够查看目录中的所有文件并在表格中显示它们。有什么方法可以获取目录的内容吗?有点像 DOS 中的 dir。也许返回所有内容的数组?或者我可以将其放入数组并从中制作表格的东西。
我知道如何创建一个临时目录的路径:
NSString *outputPath = [[NSString alloc] initWithFormat:@"%@%@", NSTemporaryDirectory(),
@"output.mov"];
NSURL *outputURL = [[NSURL alloc] initFileURLWithPath:outputPath];
非常感谢, -代码
【问题讨论】:
【参考方案1】:将文件保存在文档目录中:
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
NSString *outputPath = [documentsDir stringByAppendingPathComponent:@"output.mov"];
一般不需要将文件路径转换为URL。
使用 Filemanager 方法获取文件列表:
- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error
对指定目录执行浅搜索并返回任何包含项目的路径。
返回值: NSString 对象的数组,每个对象标识路径中包含的文件、目录或符号链接。如果目录存在但没有内容,则返回一个空数组。如果发生错误,此方法返回 nil 并为错误参数分配适当的错误对象
【讨论】:
【参考方案2】:在 iPhone 应用程序上,您将内容保存到应用程序文档目录,您可以像示例一样获取路径:
NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString *docDirectory = [sysPaths objectAtIndex:0];
NSString *filePath = [NSString stringWithFormat:@"%@/%@", docDirectory,@"output.mov"];
【讨论】:
以上是关于如何将文件保存到无临时目录并查看该目录中文件的内容?的主要内容,如果未能解决你的问题,请参考以下文章