开发者社区> 问答> 正文

Byte []到InputStream或OutputStream

我的数据库表中有一个blob列,必须byte[]在Java程序中将其用作映射,并使用此数据将其转换为InputStreamor OutputStream。但是我不知道这样做的时候内部会发生什么。有人能简要解释一下我进行此转换时发生了什么吗? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-07 22:37:13 395 0
1 条回答
写回答
取消 提交回答
  • 您可以按以下方式创建和使用字节数组I / O流:

    byte[] source = ...; ByteArrayInputStream bis = new ByteArrayInputStream(source); // read bytes from bis ...

    ByteArrayOutputStream bos = new ByteArrayOutputStream(); // write bytes to bos ... byte[] sink = bos.toByteArray(); 假设您正在使用实现标准JDBC Blob接口的JDBC驱动程序(并非全部这样做),则还可以使用和方法1将a InputStream或OutputStreamblob 连接到blob ,还可以直接获取和设置字节。getBinaryStreamsetBinaryStream

    (通常,您应该采取适当的步骤来处理所有异常并关闭流。但是,在上面的示例中,关闭bis和bos是不必要的,因为它们与任何外部资源都没有关联;例如,文件描述符,套接字,数据库连接。)

    1-该setBinaryStream方法实际上是一种吸气剂。去搞清楚。

    2020-02-07 22:37:27
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载