2011-12-22 38 views
-1

我已通过gps设备连接了我的服务器。而对于读取数据我正在使用的代码ObjectInputStream中的java.io异常

ObjectInputStream ois = new ObjectInputStream(socket.getInputStream()); 

产生以下异常:

java.io.StreamCorruptedException: invalid stream header: 24312C38 
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:783) 
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280) 
at com.tm4u.ServerSocketExample.main(ServerSocketExample.java:34) 

回答

1

例外表明数据流你从插座中得到的是不是一个有效的对象流。对象流旨在读取由Java进程序列化的Java对象。如果您正在从GPS设备读取数据,我怀疑这是设备发送的数据流类型。

0

我敢肯定你需要使用DataInputStream所的BufferedInputStreamInputStreamReader的阅读从GPS设备中的数据。

ObjectInputStream的用于读取Java对象由其它应用程序通过的ObjectOutputStream发送。这些不兼容的流。例如:JVM对象序列化协议必须相同。我怀疑GPS设备制造商是否将此设备用于这种方式。

+0

Thnanks bt我有所有的redy在BufferedInputStream的情况下使用了两种方法b我使用readLine()方法比在这个代码程序没有执行后 – 2011-12-22 10:00:05