java.util.Scanner
Bilindiği gibi Scanner, bir veri kaynağından alınan verileri okumak için kullanılan oldukça gelişmiş bir Java sınıfıdır. Scanner, konsol üzerinden kullanıcıdan veri almanın yanında, herhangi bir dosya ile de çalışabilir. Sonuçta konsol ve dosya da birer veri kaynağıdır. Yapmamız gereken tek şey, Scanner nesnesini oluştururken dosya sistemi ile çalışacağımızı belirten uygun yapılandırıcıya (constructor) uygun nesneleri geçirmektir.
Scanner input = new Scanner(System.in);
Scanner input = new Scanner(new BufferedReader(new FileReader("c:\\e-mail.txt")));
java.util.Formatter
Formatter sınıfı da, Scanner gibi benzer işlevler için tasarlanmıştır. Uygulama içerisindeki biçimlendirilmiş bir veriyi herhangi bir veri kaynağına yazdırmak için Formatter sınıfı kullanılabilir. Yine Formatter nesnesini oluştururken, hedef kaynağı bir dosya ile ilişkilendiren Java nesnesini parametre olarak geçirerek, dosya yazma işlemini tamamlayabiliriz.
Formatter output = new Formatter(new BufferedWriter(new FileWriter("c:\\e-mail.txt")));
Simdi tanimi yaptigimiz bu iki sinif ile ilgili bir uygulama yapalim Asagidaki uygulamayi isterseniz platformda derleyip veriyi platformun consol'undanda ekleyebilirsiniz istersenizde cmd ile derlyip cmd consolu ilede ekleyebilirsiniz
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.Formatter;
import java.util.Scanner;
public class ScannerAndFormatterDemo {
public static void main(String args[]){
try {
// Consol'dan veri girmek icin Scanner sinfindan faydalanarak asagidaki islemleri yaptik
StringBuffer veri = new StringBuffer();
Scanner oku = new Scanner(System.in);
System.out.println("-------- Ogrenci Kaydi ---------");
System.out.println();
System.out.print("Isim : ");
veri.append(oku.next());
System.out.print("Soyad : ");
veri.append("\n" + oku.next());
System.out.print("Yas : ");
veri.append("\n" + oku.nextInt());
System.out.print("Bolum : ");
veri.append("\n" + oku.next());
System.out.print("Telefon : ");
veri.append("\n" + oku.next());
System.out.print("E-mail : ");
veri.append("\n" + oku.next());
// Yukarda Konsola girilen veriler su sekilde istenilen yere yazilmali
File yer = new File("c:\\OgrenciKaydi.txt");
Formatter yaz = new Formatter(new BufferedWriter(new FileWriter(yer, true)));
yaz.format("%s%n" , veri);
yaz.close();
// Yukarida Scanner sinifini kullanarak consola girilen veriyi okuduk simdi ise OgrenciKaydi.txt okuyalim
Scanner txtOku = new Scanner(yer);
while(txtOku.hasNext()){
System.out.println(txtOku.nextLine());
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Bu konuyu yazarken tanilari Asagidaki siteden aldim Bu blogtaki yaziyida okumanizi oneririm
http://www.javablog.org/54-java-scanner-ve-formatter-siniflari-ile-dosya-islemleri
No comments:
Post a Comment