UPDATE: siehe auch den neuen Post StrinInputStream StringOutputStream der einige Schwächen dieser Lösung hier beseitigt.
Da programmiert man vor sich hin und vor sich hin, man will ein Java Objekt, oder besser gesagt ein Bean in ein XML-Format bringen (bzw. serialisieren).
Es gibt ja diese wunderbare Library die auch Java RMI verwendet, aber leider kann die nur in Streams schreiben, bzw. von Streams lesen.
Will man aber das XML (warum auch immer) als String haben, kann man den Umweg über ein File gehen – das ist eher doof – oder sich einen StringBuffer-Stream schreiben.
Hört sich vielleicht ein wenig kompliziert an, aber eigentlich sind die Java Streams recht einfache Konstrukte.
Da wäre diese zwei Streamchen zu erwähnen:
Will man nun eigene Streams schreiben, implementiert man einfach seine eigene Java Klasse die von dem jeweiligen Stream erbt.
So sieht dann mein StringBufferInputStream aus: