In java, character einlesen

Guten Tag,

ch möchte in java eine Zeichenfolge von der Konsole einlesen. z.B hallo.txt, damit ich dann Datei erstellen kann.

So war meine Idee

char ch=In.read();
StringBuilder file=new StringBuilder();
while (In.done()) {
file.append(ch);
ch=In.read();
}
Out.open(file.toString());

Nur Leider ergibt mir dass eine Endlosschleife in der er immer auf ein weiteres Zeichen wartet. Wie kann er auf diesem Weg erkennen, dass die Eingabe vorbei ist.

Oder gibt es ohnehin eine viel elegantere Lösung.

mfg, Don Hoolio

Schau Dir den BufferedReader an. Der kann auf eine ganze Zeile warten und nicht auf die einzelen Charaktere und die gleich in einen String schreiben.

da muss ich zustimmen für Text sollte man gebufferte Einlesemethoden benutzen.
wenn du aber nur ein Abbruchkriterium suchst, kann dir available helfen
das gibt dir zurück, wieviele bytes/chars (je nach Implementation) noch da sind