我有几个大文件要加载到应用程序文档文件夹中,然后根据需要从那里调用。
我看到的建议是将它们放在resources文件夹中,然后在应用程序加载时将它们复制到documents文件夹中。我假设如果我这样做,这些大文件将在应用程序启动时加载到内存中然后停留在那里......
安装应用程序时,有没有办法让这些文件直接进入文档文件夹,只有在被调用时才会加载到内存中?
...谢谢
答案 0 :(得分: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];
答案 1 :(得分:0)
取决于文件最初所在的位置。如果在你的包中,那么使用NSFileManager,就像gcamp所说的那样。如果您从'Net下载它们,或者动态生成它们,请使用NSOutputStream - 这是用于将二进制或文本数据从内存写入文件的API。或者使用POSIX open()/ write(),旧学校。