2009-08-28 9 views
1

私の質問は、小さな.NETプログラムで一時ファイルを処理することです。このプログラム/ユーティリティは、ちょうど2つのURLを以下のん:小さな.NETプログラムで一時ファイルを管理する

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のが唯一の読み取り専用で実行する必要があるとして、モードでは、私のプログラムを何度も実行することによってファイルを上書きすることができ、何も悪いことはありません。

しかし、私は今、私はどのWinMergeのビューであるかを確認できるように、(URLに関連した)意味のあるものに一時ファイル名を変更したいと思います。私はまた、これらのファイルが不要になったときにこれらのファイルをクリーンアップしたいと考えています。私の選択肢は何ですか?

私の次の最もシンプルなアイデアは、これらが保存され、ちょうどこのたび、私のプログラムが終了ザッピングする指定されたフォルダを持つことです。より優雅な/標準的な方法がありますか?

ありがとうございました。

+0

を参照する代わりにGUIDのもhttp://stackoverflow.com/questions/659351/deleting-temporary-files-after-usage –

答えて

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);} 
     } 
+3

私は、文字列のパス= Path.Combine(Path.GetTempPathでパスを作成します()、System.IO.Path.GetRandomFileName()); – Oliver

+0

これもうまくいく;-p –

+0

ありがとう - 私はこれを試してみる –

関連する問題