【发布时间】:2013-12-06 12:02:10
【问题描述】:
我想使用StreamWriter 将文件写入临时文件夹。
可能每台电脑的路径不同,所以我尝试使用%temp%\SaveFile.txt,但没有成功。
如何使用环境变量保存到临时文件夹?
例如,我可以使用环境变量在%appdata% 中存储文件吗?
【问题讨论】:
我想使用StreamWriter 将文件写入临时文件夹。
可能每台电脑的路径不同,所以我尝试使用%temp%\SaveFile.txt,但没有成功。
如何使用环境变量保存到临时文件夹?
例如,我可以使用环境变量在%appdata% 中存储文件吗?
【问题讨论】:
string result = Path.GetTempPath();
https://docs.microsoft.com/en-us/dotnet/api/system.io.path.gettemppath
【讨论】:
Path 类在这里非常有用。
你有两个方法被调用
这可以解决您的问题
例如,您可以这样写:(如果您不介意确切的文件名)
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");
}
【讨论】:
Path.ChangeExtension(Path.GetTempFileName(), "foo")
string contents = File.ReadAllText(path) 和File.WriteAllText(path, contents)。
您可以使用以下方式动态检索临时路径,更好地使用它,而不是使用硬编码字符串值作为临时位置。它将根据需要返回临时文件夹或临时文件。
string filePath = Path.Combine(Path.GetTempPath(),"SaveFile.txt");
或
Path.GetTempFileName();
【讨论】:
System.IO.Path.GetTempPath()
TMP 环境变量指定的路径。
TEMP 环境变量指定的路径。
USERPROFILE 环境变量指定的路径。
Windows 目录。
【讨论】:
对于 %appdata% 看看
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
【讨论】: