Das "normale" Read/Write ließt
maximal soviele Byte, wie man angibt, aber der genaue Wert wird im Result zurückgegeben, welches man dann auch auswerten sollte.
ReadBuffer/WriteBuffer versuchen
genau soviele Bytes zu lesen, wie man angibt und sie haben kein Result.
Wenn das nicht ging (z.B. Fehler oder einfach nur das Ende der Datei erreicht/überschritten), dann wird eine
Exception ausgelöst.