mic*_*ael 4 c# temporary-files temporary-directory
基本上,我想知道下面的文件下载问题是否有最好的做法,不仅仅是临时使用,而是最终将它们移动到应用程序文件夹.我面临一些选择:
//Option 1 - Random file
String tempfile = Path.GetTempFileName();
WriteData(tempfile);
File.Move(tempfile, Path.Combine(Environment.CurrentDirectory, filename);
//Option 2 - Temp Path + Random file name
String tempfile = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
WriteData(tempfile);
File.Move(tempfile, Path.Combine(Environment.CurrentDirectory, filename);
//Option 3 - Temp Path + real file name
String tempfile = Path.Combine(Path.GetTempPath(), filename);
WriteData(tempfile);
File.Move(tempfile, Path.Combine(Environment.CurrentDirectory, filename);
//Option 4 - Temp Application Path + Random file name
String tempfile = Path.Combine(Environment.CurrentDirectory, Settings.Default.DownloadFolder, Path.GetRandomFileName());
WriteData(tempfile);
File.Move(tempfile, Path.Combine(Environment.CurrentDirectory, filename);
//Optioin 5 - Temp Application Path + file name
String tempfile = Path.Combine(Environment.CurrentDirectory, Settings.Default.DownloadFolder, filename);
WriteData(tempfile);
File.Move(tempfile, Path.Combine(Environment.CurrentDirectory, filename);
Run Code Online (Sandbox Code Playgroud)
因为当时正在使用某些文件,所以我无法直接将文件写入最终的位置.它必须去临时区域......
你的第一个选择非常好.它非常清晰,有据可查,记录在案.
//Option 1 - Random file
String tempfile = Path.GetTempFileName();
WriteData(tempfile);
File.Move(tempfile, Path.Combine(Environment.CurrentDirectory, filename);
Run Code Online (Sandbox Code Playgroud)
除了Environment.CurrentDirectory位.正如Astander在这个答案中指出的那样你可能想要使用AppDomain.BaseDirectory,因为对话框可以改变 Environment.CurrentDirectory
| 归档时间: |
|
| 查看次数: |
6302 次 |
| 最近记录: |