Um Konsolendaten in Java effizient und zeichenfreundlich zu lesen (ideal für die Internationalisierung), empfiehlt es sich, Zeichenströme anstelle von Byteströmen zu verwenden. Da System.in ein Bytestrom ist, muss er in einem Reader gekapselt werden. Die empfohlene Klasse für diese Aufgabe ist BufferedReader, die InputStreamReader verwendet, um Bytes in Zeichen umzuwandeln.
Der Prozess funktioniert wie folgt:
Erstellen Sie einen InputStreamReader, der System.in zugeordnet ist:
InputStreamReader fluxoEntrada = new InputStreamReader(System.in);
Dann übergeben Sie diesen InputStreamReader an den BufferedReader-Konstruktor:
BufferedReader br = new BufferedReader(fluxoEntrada);
Auf diese Weise ist br ein zeichenbasierter Eingabestream, der mit der Konsole verbunden ist.
Methoden zum Lesen von Zeichen und Zeichenfolgen
Anwendungsbeispiel:
Der folgende Code liest Zeichen von der Konsole bis zum Zeichen . eingegeben werden:
char c; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter characters, period to quit."); do { c = (char) br.read(); System.out.println(c); } while(c != '.');
Ein weiteres Beispiel ermöglicht es Ihnen, Textzeilen zu lesen, bis das Wort „Stopp“ eingefügt wird:
String str; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter lines of text."); System.out.println("Enter 'stop' to quit."); do { str = br.readLine(); System.out.println(str); } while(!str.equals("stop"));
Diese Ansätze machen die Dateneingabe über die Tastatur komfortabler und strukturierter, insbesondere für Programme, die Unterstützung für unterschiedliche Zeichenkodierungen benötigen.
Das obige ist der detaillierte Inhalt vonKonsoleneingabe mithilfe von Zeichenströmen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!