Frage Wann sollten wir die Konsolenklasse verwenden?


Ich habe gelesen Console Klasse, und in der ersten Zeile wurde es geschrieben

Neu in Java 6 und wenn wir laufen Java SE 6 Von der Befehlszeile aus verwenden wir normalerweise das Konsolenklassenobjekt

Also, was bedeutet Wir verwenden implizit die Konsolenklasse über die Befehlszeile ??

Dann begann ich nach weiteren Details über die Konsole Klasse zu suchen und ich fand Eingabe von der Konsolenklasse in Java und Konsole Verknüpfung. Also, schloss einige Punkte ab

  1. Konsolenklasse sind nur außerhalb der IDE verwendbar verwenden System.console().readLine();
  2. Console Klasse liest ein Passwort oder eine Passphrase von der Konsole mit Echo deaktiviert deaktiviert mit readPassword()

Obwohl wir hatten Scanner Klasse und GepufferterReader Klasse, um die Eingabe von der Konsole zu lesen und die früher als hinzugefügt wurde Java 5. Also, nur aus Sicherheitsgründen Console Klasse wurde hinzugefügt Java 6 ? oder gibt es andere Vorteile, diese Klasse zu verwenden.

Könnte jemand mehr Details darüber teilen? Console Klasse?


10
2017-12-26 11:10


Ursprung


Antworten:


Die Console-Klasse liest direkt von der Prozesskonsole (normalerweise / dev / console in Unix-Systemen). Die Konsole unterscheidet sich von System.in dadurch, dass sie beim Starten eines Befehls nicht umgeleitet werden kann. Es wird auch zum Lesen von Kennwörtern verwendet, da Sie von der Konsole aus steuern können, ob Sie die eingegebenen Zeichen zurückgeben oder nicht.

Um mehr über diese Klasse zu erfahren, lesen Sie über die Konsolen- und Standardeingabe in Unix-Systemen (das ist normalerweise eine Unix-Sache und ich bin mir nicht sicher, wie es Windows-Systemen entspricht).

Schließlich kann Scanner von jeder Eingabe lesen: eine Datei, ein Stream oder die Konsole selbst, so dass sie sich von der Konsole unterscheidet.


4
2017-12-26 11:17



Die Console-Klasse versucht, eine plattformunabhängige Methode für die Konsoleneingabe zu implementieren. Jedes Betriebssystem hat eine Konsole in irgendeiner Weise, aber sie unterscheiden sich in der Implementierung. So bietet die Console-Klasse eine Java-Plattform unabhängige Laufzeitklasse für den Zugriff auf Dinge wie Passworteingabe usw.


2
2017-12-26 11:19



Ob eine virtuelle Maschine eine Konsole hat, hängt von der   zugrunde liegende Plattform und auch auf die Art und Weise, in der die virtuelle   Maschine wird aufgerufen. Wenn die virtuelle Maschine von einem gestartet wird   interaktive Befehlszeile ohne Umleitung der Standardeingabe und   Ausgabe Streams dann seine Konsole wird existieren und wird in der Regel sein   Verbunden mit der Tastatur und dem Display von dem die virtuelle Maschine   wurde gestartet. Wenn die virtuelle Maschine automatisch gestartet wird, z   Beispiel von einem Hintergrund Job Scheduler, dann wird es in der Regel nicht haben   eine Konsole.

Wie erhält man Eingaben von der Konsolenklasse in Java?


1
2017-12-26 11:16