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

  • CaptainDisillusion

    CaptainDisil

    18 EYLÜL 2007
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008
  • TomOdellVEVO

    TomOdellVEVO

    29 Mayıs 2012