# gesendeten String einlesen



## Cinimod (17. Jul 2004)

Hallo,

ich verschicke einen String, und möchte ihn jetzt wieder einlesen. Dabei tritt das Problem auf, dass der InputStreamReader behauptet, dass er nicht bereit ist, was man mit inputStreamReader.ready() prüfen kann, d.h. der String wird nicht eingelesen. Lese ich ihn aber mittels eines DataInputStream ein, dann liest er den String...folgender Codeschnipsel soll das ganze verdeutlichen:


```
inputStream = streamConnection.openInputStream();
//  dataInput = new DataInputStream(inputStream); //Test
//  System.out.println(" erhält: "+dataInput.readUTF()); //Test
inputStreamReader = new InputStreamReader(inputStream); 
System.out.println(inputStreamReader.ready()); //gleich false
```


zusammengefasst: dataInputStream auskommentiert funktioniert nicht, bleibt bei inputStreamReader hängen,
                            aber dataInputStream - mit inputStreamReader auskommentiert - funktioniert.

Wäre für Hilfe sehr dankbar, da ich schon sehr lange versuche dieses Problem zu beheben. 


visit: www.dominic.greengecko.org


----------



## semi (18. Jul 2004)

Wenn Du beim Schreiben DataOutputStream verwendest, dann 
verwende auch DataInputStream beim Lesen.
Genauso mit anderen Streams.
Ansonsten sorge beim Schreiben dafür, dass alle Schreibpuffer
geleert werden. Klartext: outputStream.flush()

Gruß,
Michael


----------



## meez (19. Jul 2004)

semi hat gesagt.:
			
		

> Wenn Du beim Schreiben DataOutputStream verwendest, dann
> verwende auch DataInputStream beim Lesen.
> l



?? Hähh...Warum denn???


Ich würd mit PrintWriter und BufferedReader arbeiten...


```
BufferedReader in = new BufferedReader(new InputStreamReader(streamConnection.openInputStream());
```

Aber das Problem liegt wohl daran, dass der InputStream null ist oder so....Ist das ein Socket...?? 
Wie wärs mit getInputStream();


----------



## gast (23. Jul 2004)

kann es vielleicht sein, dass dein inputstreamreader auf ein signal (  '\0' oder so ) wartet,
 dass keine daten mehr kommen und der thread deshalb blockiert ??


----------

