C# ile Geçici Dosya (Temporary File) oluşturma sınıfı yazalım

Projelerimizde dosya sistemi üzerinde geçici olarak dosya oluşturma ve işimiz bittiğinde silme ihtiyacı hissedebiliriz.

Bu yazıyı okumadan önce Hem benzersiz hem de geçici dosya oluşturmanın en kolay yolu ve C# ile Geçici Dosya Oluşturmak başlıklı yazılarımı okumanızı öneririm.

Bu linkte bulduğum yöntemi çok kullanışlı buldum ve sizler (aynı zamanda kendim) için türkçeleştirdim;

public class TempFile : IDisposable { public TempFile() : this(string.Empty) { }

private readonly string _tmpfile;

public TempFile(string extension)
{
    _tmpfile = Path.GetTempFileName();

    if (!string.IsNullOrEmpty(extension))
    {
        string newTmpFile = _tmpfile + extension;

        /// Yeni bir geçici dosya oluşturulur
        File.Create(newTmpFile, 0);
        /// Eski geçici dosya silinmediyse, silinir.
        File.Delete(_tmpfile);

        /// Yeni oluşturulan geçici dosya kullanıma hazır!
        _tmpfile = newTmpFile;
    }
}

public string FullPath
{
    get { return _tmpfile; }
}

void IDisposable.Dispose()
{
    if (!string.IsNullOrEmpty(_tmpfile) && File.Exists(_tmpfile))
    {
        File.Delete(_tmpfile);
    }
} }</pre>

Kullanımına örnek;

using(TempFile tmp = new TempFile(".dat")) /// dat uzantılı bir geçici dosya oluşturuluyor
{
    /// FullPath özelliğinden geçici dosyanın yolu ve dosya adı alınabilir;
    string filename = tmp.FullPath;
}


İlgili diğer makaleler

blog comments powered by Disqus

Engin Polat hakkında

Senior Software Engineer, @Microsoft

Ada ve Ege'nin babası ;)

Kategoriler

İstatistik

Makale Adedi: 484

Creative Commons Lisansı