我想用StreamWriter
将文件写入临时文件夹。将文件写入临时文件夹
它可能是在每台PC上不同的路径,所以我尝试使用%temp%\SaveFile.txt
,但它没有奏效。
如何使用环境变量保存到临时文件夹?
例如,我可以使用环境变量来存储%appdata%
中的文件吗?
我想用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
System.IO.Path.GetTempPath()
TMP环境变量指定的路径。 由TEMP环境变量指定的路径。 USERPROFILE环境变量指定的路径。 Windows目录。
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");
}
可以使用如下,更好地用它代替使用临时location.It硬编码字符串值,只要你想将返回的临时文件夹或临时文件的动态检索一个临时路径。
string filePath = Path.Combine(Path.GetTempPath(),"SaveFile.txt");
或
Path.GetTempFileName();
为%APPDATA%看一看到
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
我可以将它保存为字符串变量,因此我不必每次都重写它? – BlueRay101
当然你可以:) – 2013-11-21 21:41:18
是否需要任何特殊权限的RW ..或标准用户也可以写在该目录上? – asvignesh
OK,非常感谢你。我在哪里可以找到更多的环境变量,例如主硬盘,用户设置和应用程序数据? – BlueRay101
System.Environment类将帮助您获取环境变量等。另外一定要查看System.Environment.SpecialFolder枚举。 http://msdn.microsoft.com/en-us/library/system.environment%28v=vs.110%29.aspx – trope
因此对于临时文件夹,我总是必须使用Path.GetTempPath();,并且对于任何其他特殊路径(如AppData或ProgramFiles),我必须使用System.Environment? – BlueRay101