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

时间:2011-11-13 11:40:31

标签: iphone objective-c ios xcode

a)在我的应用程序中,我希望能够将文件保存到安装应用程序时不会消失的目录。我在哪里可以保存它们?

b)我还希望能够查看目录中的所有文件并有一个显示它们的表。是否有一些方法可以获取目录的内容?有点像DOS中的dir。也许返回所有内容的数组?或者我可以将其放入数组并从中创建表格。

我知道如何建立临时目录的路径:

NSString *outputPath = [[NSString alloc] initWithFormat:@"%@%@", NSTemporaryDirectory(), 
@"output.mov"];
NSURL *outputURL = [[NSURL alloc] initFileURLWithPath:outputPath];

非常感谢, -code

2 个答案:

答案 0 :(得分:2)

将文件保存在文档目录中:

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并将相应的错误对象分配给错误参数

答案 1 :(得分:0)

在iPhone应用程序上,您将内容保存到应用程序文档目录,您可以获得如下示例的路径:

NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString *docDirectory = [sysPaths objectAtIndex:0];
NSString *filePath = [NSString stringWithFormat:@"%@/%@", docDirectory,@"output.mov"];