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クラスから継承された独自のクラスを記述し、そのメソッド(読み取り/書き込みなど)をオーバーライドし、その内部で独自のstringbuilderまたは適切なものを維持できる必要があります。すべてがメモリ内にあり、もちろんそれは本当に速いでしょう。

XPには「ドキュメントと設定」があり、vista / 7にはユーザーフォルダがあり、各ユーザーが一時ファイルを書き込むための独自の場所があります。そこに問題なく書き込むことができます。あなたが考えているのは正しいイモです。

于 2012-09-22T12:11:27.700 に答える