Harun Özer


Proje veya dijital katalog yaptırmak için
iletişim formu doldurabilirsiniz..

<< FCKeditor internet explorer 9 bug | Tasarım Desenleri - Design Patterns>>

.net dosya işlemleri - System.io

Yazar harunozer 20 April 2012

.net dosya işlemleri - System.io .net de dosya işlemleri System.io namespace altındaki classlar ile yapılır. Bu yazıda (static) File, FileInfo, StreamWriter, StreamReader, sınıfları ile dosya kontrolü yapmak, dosya oluşturmak, dosya yazmak, dosya okumak, dosya özelliklerine erişmek, dosya silmek gibi işlemler yapacağız.

İlk olarak dosya oluşturalım.File ve FileInfo sınıfları ile yeni bir dosya oluşturabiliriz. c: dizini altına DosyaIslemleri isminde bir klasör oluşturup örneklerimizi bu klasör üzerinden yapalım.

string ExamplesPath = "c:\\DosyaIslemleri\\";


string FilePath = ExamplesPath + "test.txt";
File.Create(FilePath);

Yukarıdaki kod ile DosyaIslemleri klasöründe test.txt dosyasını oluşturmuş olduk. Fakat böyle bir dosya varsa yeniden oluşturulmuş oldu. Bunu engellemek için File.Exists(path) metodundan faydalanıp dosya varsa oluşturmayabiliriz.

if (!File.Exists(FilePath)) 
   File.Create(FilePath); 

Dosya oluşturma işlemi FileInfo sınıfı ile de aşağıdaki gibi yapılabilinir.

FileInfo fi = new FileInfo(FilePath);
if (!fi.Exists) 
   fi.Create();

Dosya özelliklerine erişmek için FileInfo sınıfından faydalanılabilinir.File sınıfı ile de dosyanın bazı özelliklerine erişim mümkündür.

    fi.Extension //dosya uzantısını verir
    fi.CreationTime  //dosyanın oluşturulma tarihini verir
    fi.DirectoryName  //dosyanın bulunduğu klasörün path ini verir
    fi.FullName  //dosyanın oathini verir
    fi.Name  //dosya adını uzantısı ile birlikte verir

Dosya taşımak için FileInfo sınıfının MoveTo metodunu (veya File sınıfının Move metodunu) kullanabiliriz.

    fi.MoveTo(ExamplesPath + "//tasimaadi.txt");

Aslında bu MoveTo komutu dosyanın kopyasını alır,kaynak dosyayı silmez.Eğer dosya adı zaten varsa hata verir.Eğer taşınacak klasörde bu isimde dosya varsa da üzerine yazmak için CopyTo metodu kullanılarak overwrite parametresi true olarak verilmelidir.

   fi.CopyTo(ExamplesPath + "//tasimaadi.txt",true);

FileInfo sınıfının (veya File sınıfının) Delete metodu ile dosya silme işlemi yapılabilinir.

fi.Delete();
File.Delete(ExamplesPath + "//tasimaadi.txt");

 

Dosya içine veri yazmak için genelde StreamWriter nesnesi işimizi görür.StreamWriter nesnesi ile string,int,char vs.. her tipde veriyi yazabiliriz.

StreamWriter sw = new StreamWriter(ExamplesPath);  
sw.WriteLine(21);
sw.WriteLine("String yazı");
sw.WriteLine(true);
sw.Close();  //işimiz bitince dosyayı kapatıyoruz

Dosya okuma işlemi için ise StreamReader sınıfından faydalanabiliriz.StreadReader sınıfı ile bütün dosyayı 1 defada okuyabileceğimiz gibi satır satır veya istediğimiz byte kadar da okuyabiliriz.

StreamReader reader = new StreamReader(Path);
string FileString = reader.ReadToEnd(); //bütün dosyayı 1 defada okuyoruz.
reader.Close();
reader.Dispose();
 
Dosyayı satır satır okumak için;
 
StreamReader reader = new StreamReader(Path); 
while (!reader.EndOfStream)  //Dosya sonuna gelindiğinde True olur
{
     Console.WriteLine(reader.ReadLine()); // dosyadan 1 satır okur ve okuyucuyu sonraki satıra konumlandırır.
}
reader.Close(); 
reader.Dispose(); 

Tam Sayfa
Tags System.IO, .net,
Kategoriler c#.net
İşlemler
Bu Makale 2  Kez Beğenildi.
İsim :    
e-Mail :    
Web Site :  
İmage :  
Güvenlik Kodu :  

Güvenlik Resmi
Resmi Yenile
    
Yorum :  
Tasarım Desenleri ve Mimarileri