0

我有一个应用程序,在某个时刻必须创建一个临时文件,然后将其删除。所以我正在考虑是否可以将临时文件创建到内存中而不是直接创建到磁盘中。然后我想从内存中读取它以执行一些操作,最后在做了一些事情之后,从内存中删除它。如果可能,如何在 .NET Framework 和 C# 中执行此操作。另外,直接使用内存而不是磁盘会影响性能吗?

我想直接使用内存而不是磁盘,因为我害怕某种不允许将文件写入磁盘某些位置的 Windows 权限......所以另一个疑问是:如果使用磁盘而不是内存是否有安全windows XP,Vista,7,8写临时文件的地方,避免写权限冲突?我的意思是,一个总是可以安全地写入临时文件然后删除它的地方。也许,在 user\Local Settings\Temp 文件夹中?这是最好的地方吗?我想知道一个安全的地方来保存临时文件,然后删除它们适用于 Windows 版本:XP、Vista、7 和 8。

谢谢。

4

2 回答 2

2

您可以使用MemoryStream写入内存而不是磁盘。使用内存流可能会提高性能,因为磁盘的写入速度通常较慢。一如既往:优化前的配置文件。

有关临时文件夹的信息,请参阅此线程:如何获取当前用户的临时文件夹

于 2012-09-22T12:09:27.140 回答
-2

您应该能够编写从 Stream 类继承的自己的类,覆盖其方法(读/写等),并在其中维护您自己的字符串构建器或任何适合您的东西。一切都将在内存中,当然它会非常快。

我认为 XP 有“文档和设置”,vista/7 有用户文件夹,每个用户都有自己的位置来写临时文件,在那里写应该没有问题。你在想什么是正确的imo。

于 2012-09-22T12:11:27.700 回答