Dosya ve dizin oluşturma

Tamamlandı

Program aracılığıyla yeni dosyalarla dizinler oluşturmak ve mevcut dosyalarla dizinleri silmek, iş kolu uygulamalarının yaygın gereksinimlerinden biridir.

Önceki bölümlerde Directory sınıfını kullanarak dosya ve dizinlerle çalışmayı öğrendiniz. Directory sınıfını, program aracılığıyla bir sistemde bulunan dizinler üzerinde oluşturma, silme, kopyalama, taşıma ve diğer farklı düzenleme işlemlerini gerçekleştirmek için de kullanabilirsiniz. Aynı işlemi dosyalar üzerinde yapmak için adlı File benzer bir sınıf kullanabilirsiniz.

Burada dizinler ve dosyalar oluşturmak için ve Directory sınıflarını kullanmayı File öğreneceksiniz.

Dizinleri oluşturma

Directory.CreateDirectory Dizin oluşturmak için yöntemini kullanın. Aşağıdaki yöntem, 201 klasörünün içinde newDir adlı yeni bir klasör oluşturur:

Directory.CreateDirectory(Path.Combine(Directory.GetCurrentDirectory(), "stores","201","newDir"));

/stores/201 henüz yoksa, otomatik olarak oluşturulur. CreateDirectory yöntemi başarısız olmaz. Ona geçirilen tüm dizinleri ve alt dizinleri oluşturur.

Dizinlerin var olduğundan emin olun

Bazen, bir dizinin zaten var olup olmadığını denetlemeniz gerekir. Örneğin, programınızın aniden durmasına neden olabilecek bir özel durum oluşmasını önlemek için, belirtilen dizinde dosya oluşturmadan önce denetlemeniz gerekebilir.

Bir dizinin var olup olmadığını görmek için yöntemini kullanın Directory.Exists :

bool doesDirectoryExist = Directory.Exists(filePath);

Dosyaları oluşturma

File.WriteAllText yöntemi kullanarak dosya oluşturabilirsiniz. Bu metot dosya yolunu ve dosyaya yazmak istediğini verileri alır. Dosya zaten varsa üzerine yazılır.

Örneğin, bu kod içinde "Merhaba Dünya!" metni bulunan greeting.txt adlı bir dosya oluşturur:

File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "greeting.txt"), "Hello World!");

Sonraki alıştırmada, tek tek mağazaların satış dosyalarının toplamını depolayan bir dizin oluşturarak programı genişletmek için dosya ve dizin oluşturma bilginizi kullanacaksınız.