2010-04-08 21 views
7

Kendimi her zaman dosya ve dizin yardımcı programlarını yazarken buluyorum ve System.IO'da varsayılan olarak mevcut olandan daha kapsamlı bir seti uygulayan iyi bir dosya ve dizin kitaplığı olup olmadığını merak ediyordum. Ben arıyorum fonksiyonlarının tür gibi şeyler geçerli:Nihai .NET dosya ve dizin yardımcı program kitaplığı?

public static void GetTemporaryDirectory() 
{ 
    string tempDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); 
    Directory.CreateDirectory(tempDirectory); 
    return tempDirectory; 
} 

public static void CreateEmptyFile(string filename) 
{ 
    File.Create(filename).Dispose(); 
} 

public static void CreateEmptyFile(string path, string filename) 
{ 
    File.Create(Path.Combine(path, filename)).Dispose(); 
} 

public static void CreateDirectory(string path) 
{ 
    Directory.CreateDirectory(path); 
} 

public static void CreateDirectory(string path, string childpath) 
{ 
    Directory.CreateDirectory(Path.Combine(path, childpath)); 
} 
+9

Son iki yönteminiz, 'Directory.CreateDirectory' etrafında önemsiz sarmalayıcılardır. Orta iki için herhangi bir bariz kullanım göremiyorum. Birincisi * yararlı olabilir * ancak 3 satırlık bir kod olduğu için bunun için bir kütüphaneye ihtiyacımız olduğunu düşünmüyorum. Gerçekten anlamıyorum; Yönetilebilir bir dizi kullanışlı ve kolay composable olanı sağlamanın aksine, dosya sistemi işlemlerinin olası tüm izinlerini temel olarak uygulayan bir kütüphane mi arıyorsunuz? – Aaronaught

+1

Bu işlevin çoğu zaten temel. Net kütüphanelerinde. –

+0

İlk işlevim aslında bir hata içeriyor :-) Bir dize geri dönmeli ... Bu önemsiz görünüyor, ama bence değil. Örneğin, File.Create (dosyaadı) .dispose() gibi bir satır; CreateEmptyFile (dosya adı) kadar net değil. Niyeti hakkında, yaptığınız şey hakkında daha açıklayıcı olun. Örnekler aşırı olabilir, ancak bir fonksiyon sadece birkaç satır uzun olsa bile daha açıklayıcı isimlere sahip olabilecek pek çok yaygın durum vardır. –

cevap

6

Yukarıda yapılan açıklamalar ile tamamen katılıyorum rağmen, belki de bu kütüphaneler ilgi olabilir:

OP'lerin isteği için tam bir eşleşme gibi görünen FileDirectoryPath bağlantısıyla ilgili güncelleştirme.

+0

Uzantı yöntemleri kesinlikle ilginç görünüyor – cmroanirgo

İlgili konular