StreamWriter
を使用して、一時フォルダーにファイルを書き込みたい。
各PCで異なるパスになる可能性があるため、%temp%\SaveFile.txt
を使用してみましたが、機能しませんでした。
環境変数を使用して一時フォルダーに保存するにはどうすればよいですか?
また、たとえば、%appdata%
にファイルを保存するために環境変数を使用できますか?
string result = Path.GetTempPath();
http://msdn.Microsoft.com/en-us/library/system.io.path.gettemppath(v = vs.110).aspx
ここでは、Pathクラスが非常に便利です。
2つのメソッドが呼び出されます
それはあなたの問題を解決する可能性があります
たとえば、次のように書くことができます:(正確なファイル名を気にしない場合)
using(StreamWriter sw = new StreamWriter(Path.GetTempFileName()))
{
sw.WriteLine("Your error message");
}
または、ファイル名を設定する必要がある場合
string myTempFile = Path.Combine(Path.GetTempPath(), "SaveFile.txt");
using(StreamWriter sw = new StreamWriter(myTempFile))
{
sw.WriteLine("Your error message");
}
一時的な場所にハードコードされた文字列値を使用する代わりに、次のように使用する方が動的に一時パスを動的に取得できます。必要に応じて一時フォルダまたは一時ファイルを返します。
string filePath = Path.Combine(Path.GetTempPath(),"SaveFile.txt");
または
Path.GetTempFileName();
System.IO.Path.GetTempPath()
TMP環境変数で指定されたパス。 TEMP環境変数で指定されたパス。 USERPROFILE環境変数で指定されたパス。 Windowsディレクトリ。
%appdata%については、
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)