BufferedReader unklar

Status
Nicht offen für weitere Antworten.

thomasimpega

Mitglied
Hallo,

ich habe bisher Konsoleneingaben über die IOTools von Seese/Ratz vorgenommen. War alles auch noch einleuchtend und leicht in integrierbar. Nachdem ich jetzt aber versuche die IOTools durch Java-Bordmittel zu ersetzen komme ich leicht ins straucheln.
Im Internet habe ich mich soweit schlau gemacht wie eine solche Anweisung auszusehen hat.

Code:
public static void main(String[] args) throws IOException {

BufferedReader vorname = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Bitte Vornamen eingeben: ");
vorname.readLine();
System.out.println("Isse Name " + vorname);

}

Nur schade, dass oben angegebenes Codeschnipsel die Ausgabe der Form:

Isse Name java.io.BufferedReader@194ca6c

hat. Ist wohl die Referenz auf die Instanz, die ich mit new eingeleitet habe.
Ich habe dann etwas weiter herumprobiert und den Code so umgebaut:
Code:
System.out.print("Bitte Vornamen eingeben: ");
String vorname = new BufferedReader(new InputStreamReader(System.in)).readLine();
System.out.println("Isse Name " + vorname);

Jetzt sieht das Ergebnis so aus, wie ich es mir auch gewünscht habe, aber klar ist mir nicht warum ???:L

Isse Name Thomas

Beide Variablendeklarationen habe ich aus dem Netz gezogen,
  • BufferedReader Vorname ... als auch
  • String Vorname

Wäre Euch dankbar, wenn Ihr mir sagen könntet warum mal mit dem Datentyp String, ein anderes mal mit der Klasse BufferedReader die Variable gesetzt wird.

Für Eure Hilfe schon mal vielen Dank im voraus.

Gruß Thomas
 

0xdeadbeef

Top Contributor
readLine liefert einen String zurück, denn Du dann ausgeben usw. kannst.

public String readLine() throws IOException

Den BufferedStream selber auszugeben, liefert halt irgendeine mehr oder weniger sinnvolle Bezeichnung des Handles bzw. der Referenz, aber nicht die aus dem Stream ausgelesenen Daten.

Ohne Anspruch auf Korrektheit:

Code:
public static void main(String[] args) throws IOException {
    BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
    System.out.print("Bitte Vornamen eingeben: ");
    String vorname = eingabe.readLine();
    System.out.println("Isse Name " + vorname);
}
 

thomasimpega

Mitglied
danke für die Antwort. Das würde bedeuten, dass das Objekt eingabe im Hintergrund weiterläuft und ich es immer wieder mit einer neuen Variable referenzieren kann.
Wird jetzt mit jedem Aufruf der Methode readLine() der alte Text überschrieben oder wandert er irgendwo in den Speicherfriedhof?

bye
Thomas
 

Griffin

Bekanntes Mitglied
Code:
eingabe.readLine();
//"Speicherfriedhof"

String blubb = eingabe.readLine();
//Erst in die Variable und dann in den "Speicherfriedhof"

reabLine() ist eine Methode die du ausführst.
 

0xdeadbeef

Top Contributor
thomasimpega hat gesagt.:
danke für die Antwort. Das würde bedeuten, dass das Objekt eingabe im Hintergrund weiterläuft und ich es immer wieder mit einer neuen Variable referenzieren kann.
Wird jetzt mit jedem Aufruf der Methode readLine() der alte Text überschrieben oder wandert er irgendwo in den Speicherfriedhof?
Thomas
Die Formulierung "das Objekt läuft im Hintergrund weiter" irritiert mich etwas. "in"/"out" oder der hier von "in" angeleitete Stream "eingabe" sind Datenströme. Mittels readLine kann man einen String aus dem Strom - in diesem Fall: von der Tastatur - einlesen. Das Objekt "eingabe" wird solange nicht zerstört, solange es benutzt wird - das trifft aber auf jedes Objekt in Java zu.
Auch wird nicht das Objekt "eingabe" mit einer "neuen Variablen referenziert". Es wird vielmehr die Methode readLine dieses Objekts aufgerufen, die ein String-Objekt mit den ausgelesenen Daten zurückliefert. Der "alte Text" wäre ja der in String: was DU damit machst, ist Deine Angelegenheit. Wichtig ist, daß readLine stets einen neuen String zurückliefert. Der String, der vorher von "vorname" referenziert wurde, liegt nach einer erneuten Zuweisung unbenutzt im Speicher und wird bei Bedarf vom Garbage Collector entsorgt. Auch das ist ein Grundprinzip von Java.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
S Erklärung BufferedReader und InputStreamReader Java Basics - Anfänger-Themen 4
Dimax BufferedReader.readLine().length() wirft NullPointer Java Basics - Anfänger-Themen 6
K Verständnisfrage Server/Client BufferedReader, PrintWriter Java Basics - Anfänger-Themen 2
M BufferedReader begrenzen Java Basics - Anfänger-Themen 3
M Java: BufferedReader liest nur die Hälfte der Text-Datei. Java Basics - Anfänger-Themen 4
O BufferedReader - Endlos Schleife Java Basics - Anfänger-Themen 2
K BufferedReader für IOTools ersetzen? Java Basics - Anfänger-Themen 17
M BufferedReader neue Zeile nach Knopfdruck Java Basics - Anfänger-Themen 9
H Unterschied BufferedReader und BufferedInputStream Java Basics - Anfänger-Themen 4
S BufferedReader TextFields Import Java Basics - Anfänger-Themen 5
B BufferedReader gibt Datei-Inhalt doppelt aus Java Basics - Anfänger-Themen 3
S BufferedReader nächste Zeile lesen Java Basics - Anfänger-Themen 4
E Erste Schritte txt.Datei mit BufferedReader einlesen und in 2D-Array abspeichern Java Basics - Anfänger-Themen 15
A Textdatei mit BufferedReader einlesen Java Basics - Anfänger-Themen 0
P Einlesen von Daten via BufferedReader Java Basics - Anfänger-Themen 4
S Einlesen BufferedReader Java Basics - Anfänger-Themen 5
D BufferedReader/InputStreamReader/Split Java Basics - Anfänger-Themen 2
M bufferedreader loop stoppen Java Basics - Anfänger-Themen 2
HoloYoitsu BufferedReader verhält sich seltsam Java Basics - Anfänger-Themen 10
I BufferedReader Text-Datei einlesen??? Java Basics - Anfänger-Themen 1
J Scanner & BufferedReader Java Basics - Anfänger-Themen 3
D Hilfe bei FileReader und BufferedReader Java Basics - Anfänger-Themen 2
V Fehlerhafte BufferedReader/switch Benutzung? Java Basics - Anfänger-Themen 2
L 2x BufferedReader in einem Programm Java Basics - Anfänger-Themen 1
K Einlesen einer txt von BufferedReader klappt nicht wie gewünscht Java Basics - Anfänger-Themen 12
N BufferedReader Java Basics - Anfänger-Themen 19
N Erste Zeile bei BufferedReader doppelt lesen? Java Basics - Anfänger-Themen 2
P Interpreter-Fehler Probleme mit java.io.BufferedReader Java Basics - Anfänger-Themen 6
M BufferedReader => TextField/Label Java Basics - Anfänger-Themen 8
B Input/Output Benutzereingabe mit BufferedReader Java Basics - Anfänger-Themen 7
B Erste Schritte BufferedReader mag nicht so recht Java Basics - Anfänger-Themen 4
B Input/Output Probleme mit BufferedReader Java Basics - Anfänger-Themen 4
J BufferedReader in Integer konvertieren Java Basics - Anfänger-Themen 7
T Input/Output StructuredFileReader extends BufferedReader Java Basics - Anfänger-Themen 6
P BufferedReader - als String[] speichern ? Java Basics - Anfänger-Themen 5
H Problem mit Regex in Verbindung mit BufferedReader Java Basics - Anfänger-Themen 4
J InputStreamReader + BufferedReader - keine Eingabemöglichkeit Java Basics - Anfänger-Themen 10
G Hilfe bei BufferedReader Java Basics - Anfänger-Themen 4
A Methoden BufferedReader durchzählen dann lesen Java Basics - Anfänger-Themen 11
T BufferedReader mehrere Zeilen einlesen Java Basics - Anfänger-Themen 4
S Erste Schritte Frage bezüglich "BufferedReader" Java Basics - Anfänger-Themen 3
A BufferedReader mit geöffneter Datei Java Basics - Anfänger-Themen 4
M Eigener InputStream will nicht mit BufferedReader Java Basics - Anfänger-Themen 3
H BufferedReader Zeilenauslesen & verwenden Java Basics - Anfänger-Themen 4
S BufferedReader liest was anderes als BufferedWriter schreibt Java Basics - Anfänger-Themen 5
F Eingabe von Ganzen Zahlen oder Strings mit BufferedReader Java Basics - Anfänger-Themen 10
D BufferedReader und .split() Java Basics - Anfänger-Themen 3
C BufferedReader Java Basics - Anfänger-Themen 5
C Datentypen BufferedReader Java Basics - Anfänger-Themen 6
c_sidi90 BufferedReader Benzinverbrauch Java Basics - Anfänger-Themen 7
Antoras Datei laden mit BufferedReader sehr langsam Java Basics - Anfänger-Themen 7
J Bufferedreader nich von anfang an. Java Basics - Anfänger-Themen 14
M Position des BufferedReader Java Basics - Anfänger-Themen 6
J Socket - BufferedReader lese Problem Java Basics - Anfänger-Themen 2
U BufferedReader - mark Java Basics - Anfänger-Themen 6
Hamstinator Frage zu BufferedReader/FileReader Java Basics - Anfänger-Themen 4
K BufferedReader/Writer trotz Cache? Java Basics - Anfänger-Themen 9
MEETyA Zeilenumbrüche fehlen nach BufferedReader Java Basics - Anfänger-Themen 3
S BufferedReader in Methode übergeben Java Basics - Anfänger-Themen 2
C BufferedReader und FileWrite Java Basics - Anfänger-Themen 2
G Frage zu BufferedReader readline() Java Basics - Anfänger-Themen 3
M BufferedReader.readline() Unix/Windows Zeilenumbruch Java Basics - Anfänger-Themen 4
K zwei Funktionen, ein BufferedReader? Java Basics - Anfänger-Themen 8
K BufferedReader im Konstruktor // guter Stil ? Java Basics - Anfänger-Themen 2
hdi FileReader / BufferedReader langsam? Java Basics - Anfänger-Themen 3
N BufferedReader Verständnisproblem Java Basics - Anfänger-Themen 12
M Problem mit BufferedReader. Java Basics - Anfänger-Themen 10
N Probleme mit dem BufferedReader Seitenquelltext auszulesen Java Basics - Anfänger-Themen 6
G BufferedReader Problem Java Basics - Anfänger-Themen 5
G Probleme mit BufferedReader Java Basics - Anfänger-Themen 6
E Was ließt der BufferedReader eigentlich ein? Java Basics - Anfänger-Themen 3
N Problem mit BufferedReader und close() Java Basics - Anfänger-Themen 6
T NullPointerException bei BufferedReader Java Basics - Anfänger-Themen 4
G bufferedReader -> String[] Java Basics - Anfänger-Themen 8
J NullPointerException BufferedReader.readLine() Java Basics - Anfänger-Themen 4
S java.io.* BufferedReader to String Java Basics - Anfänger-Themen 12
T BufferedReader oder Prozess, wer hängt sich auf? Java Basics - Anfänger-Themen 6
J bufferedReader liest zu wenig daten ein Java Basics - Anfänger-Themen 6
G BufferedReader Problem Java Basics - Anfänger-Themen 10
W Bestimmten Pfad im BufferedReader Java Basics - Anfänger-Themen 4
P BufferedReader / FileReader Key und Values Java Basics - Anfänger-Themen 7
K FileReader BufferedReader & Arrays Java Basics - Anfänger-Themen 14
G BufferedReader - split-Methode Java Basics - Anfänger-Themen 6
G Bufferedreader Java Basics - Anfänger-Themen 11
B BufferedReader für Char? Java Basics - Anfänger-Themen 6
K BufferedReader & BufferedWriter Java Basics - Anfänger-Themen 6
G BufferedReader Java Basics - Anfänger-Themen 6
V BufferedReader dann zusammenzählen Java Basics - Anfänger-Themen 3
G Hashset verknüpfen mit BufferedReader Java Basics - Anfänger-Themen 18
S BufferedReader (JFileChooser) Java Basics - Anfänger-Themen 2
P Komisches Verhalten von BufferedReader und readLine() Java Basics - Anfänger-Themen 2
R Probleme mit Bufferedreader Java Basics - Anfänger-Themen 11
R frage zur read()-Methode des BufferedReader Java Basics - Anfänger-Themen 2
M mit BufferedReader Zeile lesen Java Basics - Anfänger-Themen 11
L read() (von bufferedReader) abbrechen Java Basics - Anfänger-Themen 5
L unterbrechen von bufferedReader.read() Java Basics - Anfänger-Themen 4
R BufferedReader <-> InputStream Java Basics - Anfänger-Themen 3
G BufferedReader Java Basics - Anfänger-Themen 18
A BufferedReader Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben