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

  • alexis gillis

    alexis gilli

    23 HAZİRAN 2011
  • FRED

    FRED

    1 EKİM 2005
  • Skrillex

    Skrillex

    6 NİSAN 2010