国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java 類型相互轉換byte[]類型,Blob類型詳細介紹

2019-11-26 13:42:42
字體:
來源:轉載
供稿:網友

在我們的程序開發當中,經常會用到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 < len && (read = is.read(bytes, offset, len - offset)) >= 0) {  offset += read;  }  return bytes;  } catch (Exception e) {  return null;  } 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();

  以上片段可作為讀者參考。

        感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瑞昌市| 栾城县| 唐河县| 泰来县| 江安县| 沁水县| 科技| 彝良县| 平远县| 博兴县| 筠连县| 天柱县| 浪卡子县| 宁阳县| 肇源县| 平陆县| 巴马| 尚义县| 长顺县| 万年县| 溧水县| 丹巴县| 舟山市| 博客| 太仆寺旗| 东源县| 邛崃市| 阿鲁科尔沁旗| 通渭县| 兴和县| 丹阳市| 宁安市| 玉龙| 蓝田县| 苏尼特左旗| 昌平区| 拉孜县| 神池县| 平顺县| 望奎县| 万全县|