Windows编程应用程序和编写临时文件

时间:2009-07-27 21:24:13

标签: windows temporary-files

我正在编写一个可能在其内存中有相当多数据的应用程序。我不想将数据写入磁盘临时,因为可能有更多数据要写,我可以附加数据,但我不想遇到任何文件损坏问题。

是否有任何好的教程或可信方法描述了Windows程序通常如何使用临时文件?我希望能够恢复灾难中的数据,例如重启或断电。

3 个答案:

答案 0 :(得分:0)

如果只需要临时不可恢复的文件访问权限,应用程序会将临时文件写入%TEMP%,但是,您可能最好将它们写入您在自己创建的文件夹中的Users目录。此文件夹通常与用户在弹出“保存”对话框时选择的位置相同。重要的一点是为文件提供唯一的命名方案和文件扩展名,以区别于用户创建的文件(甚至将它们放在自己的隐藏目录中)。

答案 1 :(得分:0)

这听起来像列出的Appropriate Uses for SQLite中的几个:

  • 应用程序文件格式
  • 替换ad hoc磁盘文件
  • 内部或临时数据库

答案 2 :(得分:0)

您没有提到正在使用的语言,但如果您使用的是C或C ++,则可以选择内存映射文件。它们可以帮助减少内存占用并显着提高应用程序的性能。

这可能有助于确定这是否适合您。

http://msdn.microsoft.com/en-us/library/ms810613.aspx

看来内存映射文件支持即将到达你附近的.NET。

http://blogs.msdn.com/bclteam/archive/2009/05/22/what-s-new-in-the-bcl-in-net-4-beta-1-justin-van-patten.aspx