• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Java 类型相互转换byte[]类型,Blob类型详细介绍

java 搞代码 4年前 (2022-01-05) 17次浏览 已收录 0个评论

这篇文章主要介绍了Java 类型相互转换byte[]类型,Blob类型的相关资料,需要的朋友可以参考下

在我们的程序开发当中,经常会用到java.sql.Blob、byte[]、InputStream之间的相互转换,但在JDK的API当中,又没有直接给我们提供可用的API,下面的程序片段主要就是实现它们之间互换的util.

  一、byte[]=>Blob

  我们可以通过Hibernate提供的表态方法来实现如:

  org.hibernate.Hibernate.Hibernate.createBlob(new byte[1024]);

  二、Blob=>byte[]

  目前没有找到好一点的API提供,所以只能自已来实现。示例如下:

  /**   * 把Blob类型转换为byte数组类型   * @param blob   * @return   */   private byte[] blobToBytes(Blob blob) {   BufferedInputStream is = null;   try {   is = new BufferedInputStream(blob.getBinaryStream());   byte[] bytes = new byte[(int) blob.length()];   int len = bytes.length;   int offset = 0;   int read = 0;   while (offset = 0) {   offset += read;   }   return bytes;   } catch (Exception e) {   return nu<div style="color:transparent">来源gaodai.ma#com搞##代!^码网</div>ll;   } finally {   try {   is.close();   is = null;   } catch (IOException e) {   return null;   }   }   } 

  三、InputStream=>byte[]

  private byte[] InputStreamToByte(InputStream is) throws IOException {   ByteArrayOutputStream bytestream = new ByteArrayOutputStream();   int ch;   while ((ch = is.read()) != -1) {   bytestream.write(ch);   }   byte imgdata[] = bytestream.toByteArray();   bytestream.close();   return imgdata;   } 

  四、byte[]=> InputStream

  byte[]到inputStream之间的转换很简单:InputStream is = new ByteArrayInputStream(new byte[1024]);

  五、InputStream => Blob

  可通过Hibernate提供的API:Hibernate.createBlob(new FileInputStream(” 可以为图片/文件等路径 “));

  六、Blob => InputStream

  Blog转流,可通过提供的API直接调用:new Blob().getBinaryStream();

  以上片段可作为读者参考。

        感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上就是Java 类型相互转换byte[]类型,Blob类型详细介绍的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Java 类型相互转换byte[]类型,Blob类型详细介绍

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址