imho sind Streams eine Abstraktion, um bytes (zusammengefasst als characters oder eben als bytes) von einem Ort zum anderen zu transportieren.
Nicht unbedingt etwas, das man gleichzeitig beschreiben und lesen könnte.
Eher: Neues Bild mit Quelle Datei mit einem Stream in ein NotesDokument, möglicherweise als dxl (Ziel) schreiben. Man kann in diesen Prozess allenfalls einen Filter legen, der die einzelnen bytes base64 enkodiert.
Jedoch nicht: Stream laden, Stream modifizieren, Stream neu reinschreiben.
Das wären dann eher 2 Streams einer zum laden und 1 zum neu reinschreiben.
In den Java Klassen gibt es noch RandomAccessFile zum lesen und schreiben, das ist aber was anderes und imho gibt es dafür keine Entsprechung in den Notes Klassen sowie wird auch in Java selten benutzt.