dosya etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
dosya etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2 Mart 2014 Pazar

Dosya İşlemleri - Okuma

Dosyayının Satırlarını Okuma
C++
Tam benzemese de bir örnek burada var. Döngü kurmadan tüm dosyayı okumak kolaylaşıyor.

C#
File.ReadLines metodu kullanılarak satırlar sırayla okunabilir. ReadLines bir IEnumerable döndüğü için istenirse ilk 10 satırı okumak ta çok kolay. Örnek:
var first10Lines = File.ReadLines(path).Take(10).ToList();

Java
Java ile satırları okumak için Scanner veya BufferedReader kullanılabilir.
Scanner örneği
Scanner scanner = new Scanner(new File(filename));
while (scanner.hasNextLine()) {
      String line = scanner.nextLine();
      //Process line
}
BufferedReader ve FileReader örneği
Aşağıdaki örnekte FileReader kullanılıyor ancak FileReader dosyayı okumak için encoder kullanmamıza izin vermiyor. Dolayısıyla kullanılması tavsiye edilmiyor.
BufferedReader br = new BufferedReader(new FileReader("textfile.txt"));
while (br.ready()) {
    String sCurrentLine = br.readLine(); 
    //Process line

}
BufferedReader ve InputStreamReader örneği
Aşağıdaki örnekte InputStream ile UTF8 encoding kullanan dosya okunabiliyor.
FileInputStream in = new FileInputStream("textfile.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(in,"UTF8"));
while (br.ready()) {

    String sCurrentLine = br.readLine();
    //Process line
}
Eğer istenirse her satır okunduktan sonra toCharArray() metodu ile array olarak ta işlenebilir.

Apache Commons
FileUtils.lineIterator ile başarılıyor.Örnek:

QT
QTextStream sınıfı kullanılabilir. Örneği buradan aldım.

10 Ekim 2011 Pazartesi

Dosya İşlemleri

NOT:Derste kullandığım  >>  işaretleri sizin ayrıca python derleyicide yazmanıza gerek yok.Ben sadece kod olduklarını belirtmek amacıyla yazıyorum.Python'un kendi düzenliyicisinde var zaten.
Bu derslerimizde python dilini kullanarak dosyalarımızı nasıl yöneticeğimizi öğreneceğiz.Lafı uzatmadan başlayalım.
İlk önce dosyalarımızın oluşturulacağı dizini bilmemiz gerekiyor.Hemen öğrenelim;
Python komut satırına
>>import os
>>os.getcwd()
kodunu yazıyoruz ve karşımaza bir dizin çıkacaktır.
Örneğin benim karşıma 'C:Python31' dizini çıktı.Yani python ile oluşturduğum dosyalar bu dizine kaydolunacak.
Not:Yukarıda kullandığımınz 'import os' komutunu içe aktarmamızın sebebi 'os.getcwd()' fonksiyonunu kullanmaktı.
Bu notuda verdikten sonra işlemlerimize geçelim.
Yeni Bir Dosya Oluşturma
>>open("oluşturulacak_klasör_ismi","kullanılacak method")
kodumuzun açıklaması yukarıdaki gibidir.Şimdi örnekle açıklayalım.
>>open("deneme1.txt","w")
şeklindeki kodumuz daha önce 'os.getcwd()' methodu ile bulduğumuz dizine oluşturulacaktır.(Bende C:Python31 dizininde mesela)
Şimdi verdiğimiz bu komutu biraz inceleyelim;
open() fonksiyonu zaten isminden belli dosyayaı açmamızı sağlıyor.
Peki "w" ne anlama geliyor?
Bir çok programlama dilinde bu kısaltmalar hemen hemen aynı görevlerde kullanılırlar.Bizim kullanacağımız kısaltmalar;
"w":Bir dosyaya yazma(write) yetkisi vermek için kullanılır.
"r":Bu kipte oluşturulan dosyada sadece okuma(read) işlemine izin verir.
"a":Bu kip ise oluşturulan dosyaya sonradan veri eklememizi(append) sağlar.

Şimdi bunları birer örnek kodlamayla örneklendirelim.
>>ilkdosyam=open("deneme2.txt","w")
DİKKAT!Burada eğer bilgisayarınızdaki dizinde 'deneme2.txt' adlı bir dosya varsa bunu siler yeni bir 'deneme2.txt' dosyası oluşturur.
>>ilkdosyam=open("deneme3.txt","r")
bu komut sadece bize dosyanın içindekileri okuma yetkisi verecektir.Burada dikkat edilmesi geren konu,eğer bilgisayarımızda 'deneme3.txt' dosyası yoksa yazdığımız bu kod yeni bir dosya oluşturmayacak ve dolayısıyla python komut ekrenında hata verecektir.
>>ilkdosyam=("deneme4.txt","a")
'a' kipi 'r' kipinin aksine bize yeni dosya yaratma imkanı da verir.
Değişik bir örnek:
dosya=open("C:/Users/kullanıcı_adı/Desktop/deneme.txt","w")
bu komut ise istediğimiz bir dizine dosya oluşturmamızı sağlar.Burda dikkat edilecek konu slash(/) işaretidir.
Bilgisayarımızda dosyayı oluşturacağımız yerin adresi adres çubuğunda backslash/tersslahs() şekildedir.Kodumuzun çalışması için sadece bunları değiştirmemiz gerekir.
Bu dersimiz bu kadar bir dahakine görüşmek üzere....