BufferedWriter in InputStream oder Zeichen-Stream in Byte-Stream

Bober

Mitglied
Hallo,

Wir kann ich in einem Objekt verschiedene Stings in einen BufferedWriter schreiben und diesen dann an einen InputStream (irgendeine Unterklasse) anbinden? Ich habe zuerst an einen PipedWriter/-reader bzw PipedInputStream/OutputStream gedacht, jedoch muss ich irgendwie von Zeichen-Stream auf Byte-Stream kommen.

Aktuell schreibe ich in eine Datei und lese diese dann wieder aus. Diese Lösung gefällt mir jedoch nicht besonders.


Gruß

Bober
 
versuch mal ByteArrayInput/OutputStream in kombination mit PipedInput/OutputStream ...

zum wechsel zwischen Reader/Writer und Streams verwendet man OutputStreamWriter und InputStreamReader ..
 
danke für dir Antwort!

Mit der ersten Zeile kann ich jedoch leider nichts anfangen...was meinst du damit?

Das Wechseln mittels OutputStreamWriter(OutputStream) ist mir bekannt, ich will jedoch in die andere Richtung...
 
> Mit der ersten Zeile kann ich jedoch leider nichts anfangen...was meinst du damit?

das war doch auch nur eine Auflistung bekannter beteiligter Klassen, was könnte da nicht zu verstehen sein?

OutputStreamWriter ist ein Schlüsselwort, hast du nun ja selber gesagt,
und zum Wechsel von Output auf Input entweder im Speicher in ein byte[] ablegen, dafür die ByteArray-Streams,
oder wie auch von allen erwähnt genau die Pipes, was bleibt da offen?

schau dir Beispiele für Piped an
 
da ich jetzt irgendwie nicht wirklich weis von was in was du willst liste ich dir hier mal die möglichkeiten auf

Writer -> InputStream
Java:
PipedInputStream pipeIn=new PipedInputStream();
PipedOutputStream pipeOut=new PipedOutputStream(pipeIn);
OutputStreamWriter writerOut=new OutputStreamWriter(pipeOut);
so kannst du das was du in den Writer String-wise schreibst am InputStream byte-wise lesen

OutputStream -> Reader
Java:
PipedInputStream pipeIn=new PipedInputStream();
PipedOutputStream pipeOut=new PipedOutputStream(pipeIn);
InputStreamReader readerIn=new InputStreamReader(pipeIn);
so kannst du das was du in den OutputStream byte-wise schreibst am Reader String-wise lesen

Writer -> OutputStream
Java:
OutputStreamWriter writerOut=new OutputStreamWriter(OutputStream);
so kannst du in einen byte-wise OutputStream String-wise schreiben

InputStream -> Reader
Java:
InputStreamReader readerIn=new InputStreamReader(InputStream);
so kannst du aus einem byte-wise InputStream String-wise lesen

ansonsten musst du mal bitte genauer erklären was du willst
 
Zuletzt bearbeitet von einem Moderator:

Zurück
Oben