Java İpucu #3 – Java Konsoldan Veri Okuma

Java ile ilgili ipucu yazılarıma yine basit ama başlangıç seviyesinde (veya konsoldan çalışan programlar için) çok kullanımı olan bir konuyla devam etmek istiyorum. Bu sefer amacımız konsoldan veri okumak.

Bunun için birçok yöntem mevcut ancak ben sadece ikisinden bahsedeceğim.

İlki Scanner (JRE 1.5 ile geldi) sınıfını kullanarak basit bir kullanıcı girişi;

Scanner s = new Scanner(System.in);
System.out.print("Kullanıcı Adı: ");
String userName = s.nextLine();
System.out.print("Şifre: ");
String password = s.nextLine();

if (checkUserNameAndPassword(userName, password))
	System.out.println("Sisteme başarıyla giriş yaptınız.");

// Kullanıcı adı ve şifre kontrolü yapar
private static boolean checkUserNameAndPassword(String userName, String password) {
	// bilgileri kontrol et
	//
	return true;
}

Burada nextLine metodu konsoldayken klavyeden enter tuşuna basılana kadar olan tüm girdileri alır. Scanner sınıfının nextByte, nextInt gibi başka metotları da mevcut. Her zamanki gibi inceleme kısmı size ait 🙂

Diğer yöntem;

Console c = System.console();
if (c == null) {
	System.err.println("Konsol erişimi sağlanamadı.");
	System.exit(1);
}

String userName = c.readLine("Kullanıcı Adı: ");
char[] password = c.readPassword("Şifre: ");

if (checkUserNameAndPassword(userName, password)) {
	System.out.println("Sisteme başarıyla giriş yaptınız.");
}

Öncelikle bu yöntemin sadece konsoldan çalıştırılan java uygulamalarında çalışacağını söylemeliyim (örneğin, Windows’ta Komut İstemci’sinde veya Linux’ta Terminal’de). Aksi halde (örneğin, Netbeans’te çalıştırdığınızda), “Konsol erişimi sağlanamadı.” uyarısı gözükecektir.

Console (JRE 1.6 ile geldi) sınıfının güzel iki metodu readLine (Scanner sınıfındaki metot ile aynı işi yapıyor) ve readPassword (girilen verinin ekranda gözükmeden girilmesini sağlıyor). Kod parçasının diğer kısmı ilk örnekle aynı. Dikkat edin readPassword metodu karakter dizisi döndürüyor.

İpucu konusu olduğu için yine çok detaya girmemeye çalıştım. Diğer Java İpucu yazılarım için sitenin arama kısmına “Java İpucu”, Java makaleleri için “Java Makale” yazarak aratabilirsiniz. Site özellikleri kullanımına teşvik 🙂

Herkese iyi çalışmalar.

Bir Cevap Yazın