【问题标题】:ObjectInputStream gives StreamCorruptedExceptionObjectInputStream 给出 StreamCorruptedException
【发布时间】:2014-08-25 12:01:34
【问题描述】:

我想将inputStream (HttpRequest.getInputStream()) 转换为对象。

try {
        ObjectInput ois = new ObjectInputStream (inputStream);
        resObject= ois.readObject();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

inputStream 包含字符串形式的 xml

【问题讨论】:

    标签: java httprequest objectinputstream


    【解决方案1】:

    这里不能直接使用ObjectInputStream,因为它需要一个序列化的对象,而不是一个 XML 字符串。

    您可能可以做的是使用解组器/Java XML 绑定 API 将输入流内容解组为所需的对象。像 JAXB 和很多其他 API。

    一个让你开始的示例链接:Tutorials point link 和一般解组:java.net link 这也有一点解释。

    希望这会有所帮助。

    【讨论】:

    • 如果数据不是 XML 而只是一些字符数据怎么办。如何将其转换为对象
    • 那么您需要一种处理该数据的方法。取决于发送的数据类型。对于 XML:Unmarshal,JSON:使用 GSON 库。无论采用哪种方式,都需要将接收到的数据反序列化到 java 对象中。否则,手动解析字符数据并检索信息以填充 Object 实例。
    猜你喜欢
    • 2020-05-13
    • 1970-01-01
    • 2021-07-03
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多