Unterschied Scanner und BufferedReader?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

BufferedReader liest die Eingabe zeichen- oder zeilenweise aus, unabhängig davon, was für Daten enthalten sind. Die Rückgabe sind dann ein Byte, Byte-Array oder String, je nach verwendeter Methode.

Beim Scanner kannst du direkt den primitiven Typen angeben, der gelesen werden soll. Primitiv bezieht sich dabei auf primitive Datentypen Byte, Integer, Long, Float, Double und String (letzterer ist technisch gesehen kein primitiver Datentyp).

Der Scanner findet in der Eingabe entsprechend bereits den nächsten Wert im richtigen Typ und gibt diesen zurück, so dass man das nicht mehr händisch machen muss.

Woher ich das weiß:Berufserfahrung – Software Engineer seit 2015, u.a. Telefónica und gutefrage
KathaHohenfels 
Fragesteller
 26.07.2022, 09:25

achso also wenn ich bei der Eingabe beim Scanner z.B. Hallo9und10 eingebe, und ints einlese, werden nur 9 und 10 eingelesen?

0
KathaHohenfels 
Fragesteller
 26.07.2022, 09:27

Bist du Softwareengineer bei gutefrage?:0

1

simpel gesagt:

bufferedreader liest dir daten ein

scanner ist weniger primitiv und lässt dich zusätzlich die eingelesenen daten spezifizieren (als welcher datentyp sollen die daten eingelesen werden?)

Ist dir Stackoverflow kein Begriff?

Scanner

is used for parsing tokens from the contents of the stream while

BufferedReader

just reads the stream and does not do any special parsing.

In fact you can pass a

BufferedReader

to a

scanner

as the source of characters to parse.

KathaHohenfels 
Fragesteller
 26.07.2022, 09:29

doch, klar, recherchiere immer auf vielen Seiten, u.a. auch StackOverFlow, aber das heißt nicht, dass ich das dann verstehe.

z.B. verstehe ich nicht genau, was dieses Parsing sein soll.

1
Rakey269  26.07.2022, 09:46
@KathaHohenfels

Schau mal HIER:

Mit Parsing ist einfach eine Art Übersetzung gemeint, die dann bei der Laufzeit usw unterschiede macht.

Es gibt ja auch Typkonvertierungen und auch dort arbeitest du hin- und wieder mit Parsing.

2