【问题标题】:java.io exception in ObjectInputStreamObjectInputStream 中的 java.io 异常
【发布时间】:2011-12-22 09:27:57
【问题描述】:

我已经通过 gps 设备连接了我的服务器。而对于读取数据,我正在使用代码

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)

【问题讨论】:

    标签: java inputstream


    【解决方案1】:

    该异常表明您从套接字获取的数据流不是有效的对象流。对象流旨在读取由 Java 进程序列化的 Java 对象。如果您从 GPS 设备读取数据,我怀疑这是设备发送的流类型。

    【讨论】:

      【解决方案2】:

      我确定您需要使用 DataInputStreamBufferedInputStreamInputStreamReader 来从 GPS 设备读取数据。

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

      【讨论】:

      • 感谢 bt 我已经全部使用了这两种方法 bt 在 BufferedInputStream 的情况下我使用 readLine() 方法而不是在此代码程序不执行之后
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      • 2011-12-25
      • 2015-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多