我正在编写一个应用程序,它的内存中可能有相当多的数据。我不想将数据临时写入磁盘,因为可能有更多数据要写入,我可以附加数据,但我不想遇到任何文件损坏问题。
是否有任何好的教程或受信任的方法来描述 Windows 程序通常如何使用临时文件?我希望能够在发生灾难(例如重新启动或断电)时恢复数据。
我正在编写一个应用程序,它的内存中可能有相当多的数据。我不想将数据临时写入磁盘,因为可能有更多数据要写入,我可以附加数据,但我不想遇到任何文件损坏问题。
是否有任何好的教程或受信任的方法来描述 Windows 程序通常如何使用临时文件?我希望能够在发生灾难(例如重新启动或断电)时恢复数据。
通常,如果应用程序只需要临时不可恢复的文件访问权限,它们会将其临时文件写入 %TEMP%,但是,您最好将它们写入您在此处创建的自己文件夹中的用户目录。该文件夹通常与用户在弹出“保存”对话框时选择的位置相同。重要的一点是为文件提供唯一的命名方案和文件扩展名,以将它们与用户创建的文件区分开来(甚至将它们放在自己的隐藏目录中)。
这听起来像是 SQLite 列出的几个适当用途:
您没有提到正在使用的语言,但如果您使用 C 或 C++,内存映射文件可能是一个选项。它们可以帮助减少内存占用并显着提高应用程序的性能。
这可能有助于确定这是否适合您。
http://msdn.microsoft.com/en-us/library/ms810613.aspx
看来内存映射文件支持即将出现在您附近的 .NET 中。