Merhabalar değerli Java dostları

Java’ da en çok kullanılan yöntemlerden birisi ise girdi okumadır. Yani kullanıcının dışarıdan konsol, dosya vs gibi araçlarla girdiği bilgiyi işleyip gerekli işlemleri yapmaktır. En basit hali ile System.in veri okuma işlemi kullanılabilir. System.in varsayılan olarak kullanıcının belirttiği yöntem ile okuma yapar ve bu genellikle konsol ekranıdır. Bunun yanında girdi yöntemini dosya vb farklı yöntemlere kendimiz çekebiliriz. Böylece varsayılan olarak artık konsoldan değil, dosyadan okuma yapacaktır. Önce örneğimize bakalım.

package anajavatica.system;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Scanner;

public class SystemMain {

public static void main(String[] args) throws IOException {

Scanner scanner = new Scanner(System.in);
System.out.println(scanner.nextLine());
scanner.close();

System.setIn(new FileInputStream(new File(“scanner.txt”)));
scanner = new Scanner(System.in);
System.out.println(scanner.nextLine());
scanner.close();

}

}

Scanner aracılığı ile okuma işlemini yapmak istiyoruz. Bunun için bize bir inputstream gerekiyor. Bunu da System.in aracılığı ile sağlıyoruz. Kullanıcının konsoldan girdiği bilgiyi tekrar konsola yazıyoruz. Daha sonra canımız dosyadan okumak istiyor. System için yeni bir inputstream tanımlıyoruz. Bu da FileInputStream oluyor. Scanner.txt dosyasında mevcut olan bilgi direkt olarak okunup konsola basılıyor. Kullanıcının konsoldan herhangi bir bilgi girişi yapmasına gerek kalmıyor.

Aynı mantıkla System.out ve System.err değerleri üzerinde de oynama yapılabilir.

Bol Java’ lı günler dileğiyle… 🙂

Categories:

2 Responses

  1. Runtime hatası veriyor bir girdi verdikten sonra

    Exception in thread “main” java.util.NoSuchElementException: No line found
    at java.util.Scanner.nextLine(Unknown Source)
    at SystemMain.main(SystemMain.java:12)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir