加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

MessagePack Java Jackson 在不关闭输入流(input stream)的情

发布时间:2020-12-15 05:24:30 所属栏目:Java 来源:网络整理
导读:com.fasterxml.jackson.databind.ObjectMapper ?在读取输入流变量的时候默认的将会关闭输入流。 如果你不希望关闭输入流,你可以设置? JsonParser.Feature.AUTO_CLOSE_SOURCE ?参数为 false。 本测试方法,可以在?https://github.com/cwiki-us-demo/serializ

com.fasterxml.jackson.databind.ObjectMapper?在读取输入流变量的时候默认的将会关闭输入流。

如果你不希望关闭输入流,你可以设置?JsonParser.Feature.AUTO_CLOSE_SOURCE?参数为 false。

本测试方法,可以在?https://github.com/cwiki-us-demo/serialize-deserialize-demo-java/blob/master/src/test/java/com/insight/demo/serialize/MessagePackSerializer.java?中找到。

?

/**
 * Serialization Not Close input stream
 */
@Test
public void testMessagePackSerializationNotCloseInputStream() {
    logger.debug("testMessagePackSerializationNotCloseInputStream");

    try {
        File tempFile = File.createTempFile("messagepack-","-cwiki.us");

        MessagePacker packer = MessagePack.newDefaultPacker(new FileOutputStream(tempFile));
        packer.packInt(42);
        packer.packString("Hello");
        packer.close();

        FileInputStream in = new FileInputStream(tempFile);
        ObjectMapper objectMapper = new ObjectMapper(new MessagePackFactory());
        objectMapper.configure(JsonParser.Feature.AUTO_CLOSE_SOURCE,false);
        System.out.println(objectMapper.readValue(in,Integer.class));
        System.out.println(objectMapper.readValue(in,String.class));
        in.close();

        tempFile.deleteOnExit();
    } catch (IOException ex) {
        logger.error("Serialize Error",ex);
    }
}

?

https://www.cwiki.us/display/Serialization/MessagePack+Jackson+Dataformat

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读