Wie lese ich ein einzelnes Zeichen von der Konsole in Java (während der Benutzer es eingibt)?

Victor Hugo:

Gibt es eine einfache Möglichkeit, ein einzelnes Zeichen von der Konsole zu lesen, während der Benutzer es in Java eingibt? Ist es möglich? Ich habe es mit diesen Methoden versucht, aber alle warten darauf, dass der Benutzer die Eingabetaste drückt :

char tmp = (char) System.in.read();
char tmp = (char) new InputStreamReader(System.in).read ();
char tmp = (char) System.console().reader().read();           // Java 6

Ich fange an zu glauben , dass System.in keine Kenntnis von der Benutzereingabe , bis Eingabe gedrückt wird.

Chris W. Rea:

Sie möchten die Konsole in den "Raw" -Modus versetzen (Zeilenbearbeitung umgangen und keine Eingabetaste erforderlich) und nicht in den "gekochten" Modus (Zeilenbearbeitung mit Eingabetaste erforderlich). Auf UNIX-Systemen kann der Befehl 'stty' verwendet werden Modi wechseln.

In Bezug auf Java ... siehe Nicht blockierende Konsoleneingabe in Python und Java . Auszug:

Wenn Ihr Programm konsolenbasiert sein muss, müssen Sie Ihr Terminal aus dem Zeilenmodus in den Zeichenmodus schalten und daran denken, es wiederherzustellen, bevor Ihr Programm beendet wird. Es gibt keine tragbare Möglichkeit, dies betriebssystemübergreifend zu tun.

Einer der Vorschläge ist die Verwendung von JNI. Auch das ist nicht sehr portabel. Ein weiterer Vorschlag am Ende des Threads und gemeinsam mit dem obigen Beitrag ist die Verwendung von jCurses .

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Wie lese ich ein einzelnes Zeichen vom Benutzer?

Wie lese ich ein einzelnes Zeichen aus der Eingabe als u8?

Wie kann ich div anzeigen lassen, wenn der Benutzer in jQuery ein eingeschränktes Zeichen eingibt?

Winkel 2 - Markieren Sie den Text eines DIV, während der Benutzer Zeichen in ein Eingabefeld eingibt

Wie lese ich von der Standardeingabe in der Konsole?

Wie überprüfe ich den Textfeldwert, während der Benutzer eine Fehlermeldung eingibt und anzeigt?

Wie frage ich einen Benutzer um eine Eingabe und analysiere die Eingabe, während der Benutzer sie eingibt?

Wie kann ich ein anderes Widget anzeigen, wenn der Benutzer während der Verwendung von StreamBuilder offline ist?

Wie zeige ich einen Fehler an, wenn der Benutzer mehr als "eins" oder 1 Zeichen eingibt?

Wie kann ich das Lesen von einem Scanner beenden, wenn der Benutzer ein bestimmtes Schlüsselwort eingibt?

Wie kann ich mit Javascript ein Tastendruckereignis erkennen, jedoch NICHT, wenn der Benutzer ein Formularfeld eingibt?

Wie füge ich ein Eingabefeld ein, das alles, was der Benutzer eingibt, in eine Formel einfügt?

Wie lese ich eine bestimmte Anzahl von Zeichen aus einer Datei ein, während ich sie noch durchlaufe?

Wie kann ich Eingaben vom Benutzer erhalten, bis der Benutzer die richtige Eingabe in Java eingibt?

Wie lese ich ein einzelnes Objekt aus der JSON-Datei in Reaktion?

Wie nehme ich ein einzelnes Bild von der Webcam auf und verarbeite es in OpenCV weiter?

Wie drucke ich auf der Konsole, während ein SDL 2-Programm ausgeführt wird?

Wie kann ich Textbereichswerte ein- / ausblenden, wenn der Benutzer in die Suchleiste eingibt?

Wie führe ich jedes Mal ein Skript aus, wenn der Benutzer etwas eingibt?

Wie verhindere ich, dass der Benutzer ein Jahr vor 1582 eingibt (Python)

Wie lese ich ein Int von der Kommandozeile in Ballerina?

Wie ändere ich das Intervall von setInterval, während es ruiniert, wenn der Benutzer die Umschalttaste gedrückt hält?

Ändern Sie den Text der Eingabefelder, während ein Benutzer Angular 6 eingibt

Wie kann ich Listenansichtsdaten in der Textansicht anzeigen, wenn der Benutzer auf ein einzelnes Element klickt?

Wie schreibe ich während der Erfassungsphase von einem Pytest-Plugin auf die Konsole?

Wie verstecke ich die Python-Konsole während der Installation von Modulen?

Swift: Kontinuierliche Größenänderung von tableViewCell, während der Benutzer eine UITextView eingibt

Wie beende ich dieses Programm, wenn der Benutzer "end" eingibt?

Wie überprüfe ich, wann der Benutzer Xamarin Forms eingibt?

TOP Liste

  1. 1

    Glassfish v3.0.1 im Vergleich zu Oracle GlassFish Server 3.0.1 - Gibt es einen technischen Grund, die kommerzielle Version zu verwenden?

  2. 2

    Wie schließe ich mehrere Ordner mit der Variablen EXTRA_ARGS aus?

  3. 3

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  4. 4

    Modbus Python Schneider PM5300

  5. 5

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  6. 6

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

  7. 7

    Wie füge ich eine Spalte in einer Zeile in der Ansible Jinja2-Vorlage mit der for-Schleife hinzu?

  8. 8

    ElasticSearch - Knotensperren konnten nicht abgerufen werden

  9. 9

    Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden

  10. 10

    Wie vergleicht man scala.xml-Knoten richtig?

  11. 11

    Wie kann man eine Multi-Container-Anwendung in Steuerkarten erstellen?

  12. 12

    Wie Verwenden von Httpclient mit jedem SSL-Zertifikat, egal wie „schlecht“ es ist

  13. 13

    HTTPS-Verbindung mit Moneris-Servern in Curl

  14. 14

    Elasticsearch startet nicht nach dem Laden in viele Daten

  15. 15

    Schneller Algorithmus zum Suchen nach Teilzeichenfolgen in einer Zeichenfolge

  16. 16

    So übergeben Sie eine Variable in json, um Daten zu erhalten

  17. 17

    Hervorheben der SQL-Syntax in Visual Studio 2017

  18. 18

    Unterschied zwischen einfachen und doppelten Anführungszeichen in Javascript

  19. 19

    ElasticSeach Auto Complete mit dem Vervollständigungsvorschlag, um das vollständige Dokument zurückzugeben

  20. 20

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  21. 21

    Bester Crawler, um festzustellen, ob er mit Technologien gebaut wurde?

heißlabel

Archiv