如何将文件保存到无临时目录并查看该目录中文件的内容?

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"];

【讨论】:

以上是关于如何将文件保存到无临时目录并查看该目录中文件的内容?的主要内容,如果未能解决你的问题,请参考以下文章

退出并加载我的应用程序时,如何将图像保存并读取到临时文件夹

如何获取保存在临时目录中的视频的 url

word文件修改后保存了如何恢复原来的内容

Linux脚本之定时清空文件内容

Cordova 写入 WWW 目录 (iOS)

R语言如何更改工作目录??