創建一個臨時文件名我也有同樣的要求之前,我已經創建了一個小班解決它:
public sealed class TemporaryFile : IDisposable {
public TemporaryFile() :
this(Path.GetTempPath()) { }
public TemporaryFile(string directory) {
Create(Path.Combine(directory, Path.GetRandomFileName()));
}
~TemporaryFile() {
Delete();
}
public void Dispose() {
Delete();
GC.SuppressFinalize(this);
}
public string FilePath { get; private set; }
private void Create(string path) {
FilePath = path;
using (File.Create(FilePath)) { };
}
private void Delete() {
if (FilePath == null) return;
File.Delete(FilePath);
FilePath = null;
}
}
它在您指定的文件夾或系統臨時文件夾中創建一個臨時文件。它是一次性類,所以在其生命結束時(Dispose
或析構函數),它會刪除文件。您將獲得通過FilePath
屬性創建的文件的名稱(和路徑)。您當然可以擴展它來打開文件進行寫入並返回其相關的FileStream
。
使用示例:
using (var tempFile = new TemporaryFile()) {
// use the file through tempFile.FilePath...
}
我還沒有看到Path.GetTempDirectory,是不是System.IO.GetTempPath? – Biri 2008-08-21 14:54:21