Inputstream in Outputstream umleiten

Status
Nicht offen für weitere Antworten.
A

as1

Gast
Moin,

ich mal wieder mit einer Frage, ich habe einen Inputstream und möchte den in einen Outputstream umleiten.
Dazu habe ich mir einen Thread geschrieben der einen Inputstream und einen Outputstream übergeben bekommt...

Code:
import java.io.*;

public class PushOutputThread extends Thread {
   
	OutputStreamWriter myopsw;
	InputStreamReader myipsr;
  
    public PushOutputThread(InputStream ips, OutputStream ops) {
        this.myopsw = new OutputStreamWriter(ops);
        this.myipsr = new InputStreamReader(ips);
    }
  
    public void run() {
    	while(true)
    	{
    		try {
    		myopsw.write(myipsr.read());
    		} catch (Exception e) {	}		
    	}
    }
}

Allerdings klappt das einfach net. Da ich die sowohl den Inputstream als auch den Outputstream von einer anderen methode bekomme wollte ich mal fragen ob mein Thread nicht das macht was er soll oder ob das Problem "außerhalb" liegt.
 

Marco13

Top Contributor
Allerdings klappt das einfach net.
Diese Fehlerbeschreibung ist eigentlich keines Kommentars mehr wert. Nur so viel: :autsch:

Zumindest solltest du überprüfen, was gelesen und was geschrieben wird. Wenn man vom InputStream nichtsmehr lesen kann, wird -1 zurückgeliefert. Und spätestens DANN solltest du die Schleife abbrechen.
 
G

Guest

Gast
Sry, was die Fehlerbeschreibung angeht aber ich krieg ja keine Fehlerausgabe auf der Console von daher weiß ich auch net so recht was ich hier schreiben soll...

Hab jetzt mal getestet ob der Stream gelesen werden kann und das funktioniert soweit.
 

Marco13

Top Contributor
Ein kleines, selbstständiges, compilierbares Beispiel hilft in so einem Fall häufig. Der Hinweis mit dem "nicht lesen können" bezog sich darauf, dass der Thread in einer Endlosscheife steckt, und dort nie rauskommt. Er liest die Daten vom InputStream. Und irgendwann ist er am Ende des InputStreams angekommen. inputStream.read() liefert dann fleißig bei jedem Aufruf "-1". Und diese "-1"er werden genauso fleißig in den outputStream geschrieben. Aber einen Grund, die Endlosschleife abzubrechen, lieferst du ihm nicht...
 
A

as1

Gast
Aso, denn hab ich das falsch verstanden.

Der Thread läuft deswegen in einer endlosschleife, weil er einen kontinuerlichen stream aus dem internet bekommt und diesesn auch auch wieder ins internet senden soll.
Dh. der thread soll solange laufen bis ich ihn von außen kill.

das lesen den stream klappt auch, hab mir den mal in der console ausgeben lassen und das funzt.
 
A

as1

Gast
PS.: dieser Code liefert mit die ausgabe und die bricht auch nicht ab

Code:
import java.io.*;

public class PushOutputThread extends Thread {
   
	OutputStreamWriter myopsw;
	InputStreamReader myipsr;
	InputStream is;
	OutputStream os;
	boolean run=true;
	int n=0;
  
    public PushOutputThread(InputStream ips, OutputStream ops) {
        this.myopsw = new OutputStreamWriter(ops);
        this.myipsr = new InputStreamReader(ips);
        this.is = ips;
        this.os = ops;
    }
  
    public void run() {
    	System.out.println("redirect: "+is+" to "+os);
    	while(run)
    	{
    		try {
    		if(n<50) {
    			System.out.print(myipsr.read());
    			n++;}
    		else {
    			System.out.println(myipsr.read());
    			n=0;}
    		//myopsw.write(myipsr.read());
    		if(myipsr.read()==-1) run=false;
    		
    		} catch (Exception e) {	}		
    	}
    }
}
 

Marco13

Top Contributor
Wie sich das "nicht klappen" denn nun äußert, hast du aber immernoch nicht gesagt. Eventuell kannst du mal zwischendurch ein
outputStream.flush()
aufrufen. Ansonsten ... ???:L ... naja. Vielleicht kann ja jemand anderes weiterhelfen. Sorry.
 
G

Guest

Gast
soo, hab mal wieder was getestet.

Vom inputstream kann ich unbegrenzt lesen.
In den outputstream kann ich allerdings nur 8192 mal schreiben, danach schreibt er nicht mehr... woran kann das leigen?


@Marco13 outputStream.flush() gibt bei mir nichts aus o_O
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Mal ein paar generelle Fragen zu InputStream und OutputStream Allgemeine Java-Themen 4
T OutputStream to InputStream Allgemeine Java-Themen 8
S von OutputStream in InputStream schreiben ohne das es blockiert..? Allgemeine Java-Themen 2
X Input/Output InputStream/Scanner(System.in) read()/hasNextLine() block unterbrechen Allgemeine Java-Themen 7
krgewb Problem mit Umlauten und Eszett bei InputStream Allgemeine Java-Themen 3
L Input/Output InputStream öffnen? Allgemeine Java-Themen 12
P Input/Output Inputstream verhält sich verschieden Allgemeine Java-Themen 9
R Inputstream lesen mit Pointer Allgemeine Java-Themen 0
M InputStream auslesen Allgemeine Java-Themen 1
M String aus InputStream Allgemeine Java-Themen 3
C Threading mit BufferedReader/InputStream & sockets Allgemeine Java-Themen 0
B BufferedWriter in InputStream oder Zeichen-Stream in Byte-Stream Allgemeine Java-Themen 5
P Scanner als Inputstream für Java Prozess Allgemeine Java-Themen 4
E POI-InputStream selber wählen Allgemeine Java-Themen 2
S RandomAcessFile das einen InputStream wrappt..? Allgemeine Java-Themen 2
M Umwandlung ByteArrayOutputStream in InputStream Allgemeine Java-Themen 5
1 InputStream hängt Allgemeine Java-Themen 4
H Input/Output InputStream: 32-Bit-Ganzzahl (DWORD) binär lesen Allgemeine Java-Themen 5
D Datentypen Reader/InputStream wiederverwenden? Allgemeine Java-Themen 11
K Inputstream -> Bilder Allgemeine Java-Themen 23
1 InputStream liest die letzte Zeile nicht ein Allgemeine Java-Themen 2
J Java Datei aus FTP in ein INputstream Allgemeine Java-Themen 2
J InputStream Zip-File Allgemeine Java-Themen 3
F ImageIO cant create InputStream Allgemeine Java-Themen 9
S InputStream "weiterleiten" Allgemeine Java-Themen 12
T Integer aus InputStream lesen Allgemeine Java-Themen 3
T Undwandlung eines String in einen InputStream? Allgemeine Java-Themen 3
M Selbst geschriebener InputStreamReader über einen beliebigen InputStream Allgemeine Java-Themen 4
reibi BufferedImage nach InputStream Allgemeine Java-Themen 10
R InputStream zweimal lesen Allgemeine Java-Themen 2
G InputStream und File Allgemeine Java-Themen 11
B InputStream zu URL umwandeln Allgemeine Java-Themen 2
F Teile vom InputStream schreiben Allgemeine Java-Themen 9
J InputStream aus URL funktioniert nicht Allgemeine Java-Themen 7
H InputStream Problem mit externem Kommandozeilenprogramm Allgemeine Java-Themen 2
W InputStream öfters nutzen Allgemeine Java-Themen 9
R The mark method of InputStream does nothing. Allgemeine Java-Themen 4
V String oder doch InputStream? Allgemeine Java-Themen 9
Nils_Langner InputStream soll sich bei neuen Daten melden Allgemeine Java-Themen 2
R InputStream - seltsamer Output Allgemeine Java-Themen 2
S java.io.InputStream.read(byte[] b) überschreiben Allgemeine Java-Themen 33
N InputStream erst ab gegebener Position Allgemeine Java-Themen 4
R InputStream Allgemeine Java-Themen 5
G InputStream kopieren? Allgemeine Java-Themen 6
D Inputstream aus StringBuffer Allgemeine Java-Themen 3
G inputstream() to imageicon() Allgemeine Java-Themen 7
D Durch OutpustStream und InputStream dateien in eine jar sch Allgemeine Java-Themen 3
G aus String einen InputStream erstellen Allgemeine Java-Themen 2
C Wie kann man im InputStream nach einer Zeichenkette suchen? Allgemeine Java-Themen 4
R Aus InputStream wieder eine Datei erzeugen? Allgemeine Java-Themen 2
N String als Inputstream Allgemeine Java-Themen 4
N Suchen in InputStream/ByteArrayOutputStream Allgemeine Java-Themen 11
M InputStream.read abbrechen Allgemeine Java-Themen 2
T Input und Outputstream , serielle Schnittstelle Allgemeine Java-Themen 1
Meeresgott Input/Output OutputStream löscht Datei Allgemeine Java-Themen 7
F Jar OutputStream Allgemeine Java-Themen 4
T Outputstream write() gets blocked using RXTX to communicate with HC-05 BT Module Allgemeine Java-Themen 10
D Java Process OutputStream ist null Allgemeine Java-Themen 4
P Input/Output Process.getErrorStream = OutputStream Allgemeine Java-Themen 11
G Auf Kommandozeile über Processobjekt mit Outputstream Allgemeine Java-Themen 3
M rxtx OutputStream sendet falsche werte Allgemeine Java-Themen 3
L Abspeichern von OutputStream Allgemeine Java-Themen 6
E Outputstream an verschiedenen Positionen beschreiben Allgemeine Java-Themen 4
A Eigenen OutputStream schreiben und verwenden Allgemeine Java-Themen 9
D zip Dateien schreiben mit in/outputstream Allgemeine Java-Themen 10
S OutputStream via POST senden Allgemeine Java-Themen 4
W StringBuilder effektiv auf OutputStream schreiben Allgemeine Java-Themen 3
Landei CipherInput/OutputStream-Problem Allgemeine Java-Themen 2
G Double Wert über OutputStream verschicken Allgemeine Java-Themen 2
S outputstream über fileUrl Allgemeine Java-Themen 15
L Problem mit dem OutputStream eines Prozesses Allgemeine Java-Themen 9
G OutputStream to System.out Allgemeine Java-Themen 35
I input-/outputstream Allgemeine Java-Themen 6
Junktyz In Writer und Outputstream wird teilweise nicht geschrieben Allgemeine Java-Themen 3
reibi FileOutputStream aus OutputStream erstellen Allgemeine Java-Themen 7
H Problem mit OutputStream Allgemeine Java-Themen 5
T OutputStream - Prozente ermitteln Allgemeine Java-Themen 3
T OutputStream - Event bei Byte-Fluss Allgemeine Java-Themen 5
D Cipher(In)OutputStream Allgemeine Java-Themen 3
R Ladebalken für einen Outputstream. Allgemeine Java-Themen 10
J Binärdateien mit Input/Outputstream lesen und schreiben Allgemeine Java-Themen 3
m@nu Schreibschutz entfernen und OutputStream öffnen Allgemeine Java-Themen 6
T Problem mit Outputstream? Allgemeine Java-Themen 2
L Exception/Error auf JDialog umleiten Allgemeine Java-Themen 2
Neumi5694 System.out und System.err umleiten - NICHT im Quelltext Allgemeine Java-Themen 4
reibi Programmausgabe umleiten Allgemeine Java-Themen 8
N read streams umleiten Allgemeine Java-Themen 2
M Wie kann ich alle System.out Strings in ein log window umleiten? Allgemeine Java-Themen 6
J OpenOffice.org Events in eigene Anwendung umleiten Allgemeine Java-Themen 4
E System.out umleiten Allgemeine Java-Themen 2
X e.printStackTrace Ausgabe in Datei umleiten? Allgemeine Java-Themen 14
N System.out/System.err umleiten rückgängig machen Allgemeine Java-Themen 2
S Über ein String eine Webseite in eine Datei umleiten Howto? Allgemeine Java-Themen 8
D Die Ausgabe von Tidy in eine Datei umleiten Allgemeine Java-Themen 3
G Compiler Exception auf JTextArea umleiten Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben