SORU
23 EKİM 2010, CUMARTESİ


konsol.writeline ve Sistem.dışarı.sertifika

Tam olarak console.writeline System.out.println arasındaki teknik fark nedir? Ben System.out.println standart çıktıya yazar olduğunu biliyorum ama bu konsol aynı şey değil mi?

Tam console.writeline documentation anlamıyorum.

CEVAP
23 EKİM 2010, CUMARTESİ


Burada System.out/.err/.in System.console() arasındaki temel farklar:

  • System.console() Eğer uygulama bir terminal (though you can handle this in your application) çalıştırmak ise, NOT null döndürür
  • System.console() karakter yankılanan olmadan şifre okuma yöntemleri sağlar
  • System.out System.err Console sınıfı güç yöntemleri kodlama konsol kullanırken varsayılan platform kodlama kullanın

Bu son davranışın hemen belli olmayabilir, ama bu gibi bir kod farkı gösterir

public class ConsoleDemo {
  public static void main(String[] args) {
    String[] data = { "\u250C\u2500\u2500\u2500\u2500\u2500\u2510", 
        "\u2502Hello\u2502",
        "\u2514\u2500\u2500\u2500\u2500\u2500\u2518" };
    for (String s : data) {
      System.out.println(s);
    }
    for (String s : data) {
      System.console().writer().println(s);
    }
  }
}

Benim Windows Sistemi windows-1252 kodlama olan XP ve varsayılan İBM850, bu kod kodlama konsol üzerinde yazacaktır:

???????
?Hello?
???????
┌─────┐
│Hello│
└─────┘

Bu davranış kodlama konsol sistemi kodlama için farklı bir kodlama için ayarlanan bağlı olduğunu unutmayın. Bu tarihsel nedenlerle bir sürü için Windows varsayılan davranıştır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • amc

    amc

    21 EYLÜL 2005
  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006
  • paikimchung

    paikimchung

    12 Mayıs 2006