Hallo,
ich schreibe über einen Mikrocontroller, auf dem ein C Programm läuft, auf die serielle Schnittstelle eine Zeichenkette, die mit einem Zeilenumbruch beendet wird. In meiner Java-Anwendung möchte ich den InputStream über einen BufferedReader.readLine() auswerten.
Da readLine() aber aus irgendeinem Grund den Zeilenumbruch am Ende nicht erkennt, wird folgende Exception geworfen:
java.io.IOException: Underlying input stream returned zero bytes
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:268)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
:
In C verwende ich als Zeilenumbruch '\n' (also 0x0A und 0x0D), habe aber auch schon \r\n probiert (was auch nicht funktioniert hat).
Das C-Programm habe ich mit PuTTY getestet, das \n wird dort auch zu einem Zeilenumbruch. Die Java-Applikation funktioniert auch wenn ich in PuTTY irgendetwas hineinschreibe und Enter drücke, aber miteinander funktionieren die beiden nicht ...
;(
mfg
kabellutscher
ich schreibe über einen Mikrocontroller, auf dem ein C Programm läuft, auf die serielle Schnittstelle eine Zeichenkette, die mit einem Zeilenumbruch beendet wird. In meiner Java-Anwendung möchte ich den InputStream über einen BufferedReader.readLine() auswerten.
Da readLine() aber aus irgendeinem Grund den Zeilenumbruch am Ende nicht erkennt, wird folgende Exception geworfen:
java.io.IOException: Underlying input stream returned zero bytes
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:268)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
:
In C verwende ich als Zeilenumbruch '\n' (also 0x0A und 0x0D), habe aber auch schon \r\n probiert (was auch nicht funktioniert hat).
Das C-Programm habe ich mit PuTTY getestet, das \n wird dort auch zu einem Zeilenumbruch. Die Java-Applikation funktioniert auch wenn ich in PuTTY irgendetwas hineinschreibe und Enter drücke, aber miteinander funktionieren die beiden nicht ...
;(
mfg
kabellutscher