存储由WinForms应用程序创建的临时文件的位置

Icy*_*now 2 c# directory temporary-files winforms

如何获取C#WinForms可执行文件所在的文件夹?

我的程序生成一些临时文件,我想知道可执行文件的位置是否是放置它们的安全位置.

Dan*_*gby 9

如果文件只是临时文件,您可能应该使用以下内容:

string tempPath = System.IO.Path.GetTempPath();
Run Code Online (Sandbox Code Playgroud)

这将为您提供当前用户的临时文件夹.这可能是一个更安全的赌注,然后尝试将它们写入exe的当前文件夹.

更多信息:http://msdn.microsoft.com/en-us/library/system.io.path.gettemppath.aspx

  • 标准用户无法写入Program Files文件夹 - 假设exe文件夹是可写的,这是绝对安全的. (3认同)

Bro*_*ass 8

您可以使用从Assembly.GetExecutingAssembly().Location以下派生的目录:

string directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Run Code Online (Sandbox Code Playgroud)

如果您只想生成临时文件,也可以使用它Path.GetTempFileName()来获取文件名.