1

我的问题是关于在一个小的 .NET 程序中处理临时文件。该程序/实用程序仅使用两个 URL 执行以下操作:

Download each URL to a string (WebClient.DownloadString).
Save each string to a temporary file.
Call WinMerge (Process.Start) to diff the two files (in read-only mode for both files).

我目前有可能工作的最简单的事情:

save URL1 to windows/temp/leftFileToDiff.txt
save URL2 to windows/temp/rightFileToDiff.txt.

这很好用——因为 WinMerge 只需要在只读模式下运行,因此可以通过多次运行我的程序来覆盖文件,并且不会发生任何不好的事情。

但是,我现在想将临时文件名更改为有意义的名称(与 URL 相关),以便在 WinMerge 视图中查看哪个是哪个。我还想在不再需要这些文件时清理它们。我有什么选择?

我的下一个最简单的想法是有一个指定的文件夹来存储这些文件,并且每次我的程序退出时都会删除它。有更好/更优雅/标准的方式吗?

谢谢。

4

1 回答 1

5

在用户的临时区域下创建一个Guid基于 - 的文件夹并使用它?

        string path = Path.Combine(Path.GetTempPath(),
              Guid.NewGuid().ToString("n"));
        Directory.CreateDirectory(path);
        try
        {
            // work inside path
        }
        finally
        {
            try { Directory.Delete(path, true); }
            catch (Exception ex) {Trace.WriteLine(ex);}
        }
于 2009-08-28T10:42:33.897 回答