Du hast deine Frage fast beantwortet.
cbuf
wird auf Null initialisiert. Wer weist dieser Variablen jemals zu? Also, wo sollte fr.read(cbuf)
die Zeichen schreiben?
Auch Sie haben nicht das eigentliche Problem, das Sie erleben! Ich würde erwarten, dass die read()
Zeile für eine NPE innerhalb der Lese markiert wird.
Und aus diesem Grund identifiziert Ihre Bemerkung genau den Grund.
Es fehlt nur, um zu erkennen, dass eine Null nicht magisch verschwindet, sondern eine explizite Zuweisung erfordert.
Dies ist, was Ihr Code fehlt. Initialisiere cbuf
!
Sie sollten dann über die Semantik der read()
-Methode lesen, , da Ihr Code immer noch eine Schleife fehlt, um die gesamte Datei zu lesen. (Achtung, die Datei könnte größer sein als Ihr Puffer!)
Verwenden Sie einen Debugger. – redFIVE