0

我有几个大文件,我想将它们加载到应用程序文件夹中,然后按需从那里调用。

我看到的建议是将它们放在资源文件夹中,然后在应用程序加载时将它们复制到文档文件夹中。我假设如果我这样做,这些大文件将在应用程序启动时全部加载到内存中,然后留在那里......

有没有办法让这些文件在安装应用程序时直接进入文档文件夹,并且仅在调用它们时才加载到内存中?

谢谢...

4

2 回答 2

0

安装时无法自动执行此操作。

您可以使用NSFileManager它来复制您的文件。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *finalPath = [documentsDirectory stringByAppendingPathComponent:@"documentName"];
[[NSFileManager defaultManager] copyItemAtPath:yourDocumentPath toPath:finalPath error:nil];
于 2010-03-11T02:25:11.007 回答
0

取决于文件最初所在的位置。如果在您的捆绑包中,请使用 NSFileManager,就像 gcamp 说的那样。如果您从网络下载它们,或者动态生成它们,请使用 NSOutputStream - 这是用于将二进制或文本数据从内存写入文件的 API。或者使用 POSIX open()/write(),老派。

于 2010-03-11T02:37:41.243 回答