Java 图片与byte数组互相转换实例

发布时间 - 2026-01-10 23:08:16    点击率:

实例如下:

//图片到byte数组
 public byte[] image2byte(String path){
  byte[] data = null;
  FileImageInputStream input = null;
  try {
   input = new FileImageInputStream(new File(path));
   ByteArrayOutputStream output = new ByteArrayOutputStream();
   byte[] buf = new byte[1024];
   int numBytesRead = 0;
   while ((numBytesRead = input.read(buf)) != -1) {
   output.write(buf, 0, numBytesRead);
   }
   data = output.toByteArray();
   output.close();
   input.close();
  }
  catch (FileNotFoundException ex1) {
   ex1.printStackTrace();
  }
  catch (IOException ex1) {
   ex1.printStackTrace();
  }
  return data;
 }
 //byte数组到图片
 public void byte2image(byte[] data,String path){
  if(data.length<3||path.equals("")) return;
  try{
  FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));
  imageOutput.write(data, 0, data.length);
  imageOutput.close();
  System.out.println("Make Picture success,Please find image in " + path);
  } catch(Exception ex) {
   System.out.println("Exception: " + ex);
   ex.printStackTrace();
  }
 }
 //byte数组到16进制字符串
 public String byte2string(byte[] data){
  if(data==null||data.length<=1) return "0x";
  if(data.length>200000) return "0x";
  StringBuffer sb = new StringBuffer();
  int buf[] = new int[data.length];
  //byte数组转化成十进制
  for(int k=0;k<data.length;k++){
   buf[k] = data[k]<0?(data[k]+256):(data[k]);
  }
  //十进制转化成十六进制
  for(int k=0;k<buf.length;k++){
   if(buf[k]<16) sb.append("0"+Integer.toHexString(buf[k]));
   else sb.append(Integer.toHexString(buf[k]));
  }
  return "0x"+sb.toString().toUpperCase();

 } 

文件解析:

FileImageOutputStream 换成了 FileOutputStream
FileImageInputStream 换成 FileInputStream

以上这篇Java 图片与byte数组互相转换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# java  # byte数组  # Java任意长度byte数组转换为int数组的方法  # java对象转成byte数组的3种方法  # java中两个byte数组实现合并的示例  # Java整型数与网络字节序byte[]数组转换关系详解  # Java中byte、byte数组与int、long的转换详解  # Java 字节数组类型(byte[])与int类型互转方法  # Java中字符串与byte数组之间的相互转换  # Java基本类型与byte数组之间相互转换方法  # 基于java中byte数组与int类型的转换(两种方法)  # java byte数组与16进制间相互转换的示例  # 给大家  # 转化成  # 希望能  # 这篇  # 小编  # 大家多多  # 换成了  # buf  # output  # int  # input  # FileImageInputStream  # ByteArrayOutputStream  # File  # FileNotFoundException  # catch  # printStackTrace  # close  # read  # numBytesRead 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  制作企业网站建设方案,怎样建设一个公司网站?  EditPlus中的正则表达式实战(5)  canvas 画布在主流浏览器中的尺寸限制详细介绍  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  如何在宝塔面板中创建新站点?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  Laravel如何使用Gate和Policy进行授权?(权限控制)  如何基于云服务器快速搭建个人网站?  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  在线制作视频的网站有哪些,电脑如何制作视频短片?  Java解压缩zip - 解压缩多个文件或文件夹实例  米侠浏览器网页背景异常怎么办 米侠显示修复  如何用西部建站助手快速创建专业网站?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  北京企业网站设计制作公司,北京铁路集团官方网站?  Laravel如何自定义分页视图?(Pagination示例)  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  香港服务器如何优化才能显著提升网站加载速度?  Laravel如何升级到最新版本?(升级指南和步骤)  Laravel如何使用Telescope进行调试?(安装和使用教程)  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  无锡营销型网站制作公司,无锡网选车牌流程?  JS中对数组元素进行增删改移的方法总结  如何用景安虚拟主机手机版绑定域名建站?  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  jQuery 常见小例汇总  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  Linux系统命令中tree命令详解  图册素材网站设计制作软件,图册的导出方式有几种?  Bootstrap整体框架之JavaScript插件架构  网站优化排名时,需要考虑哪些问题呢?  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Laravel如何创建自定义Artisan命令?(代码示例)  Laravel怎么使用artisan命令缓存配置和视图  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  香港服务器建站指南:免备案优势与SEO优化技巧全解析  网页设计与网站制作内容,怎样注册网站?  如何在万网自助建站中设置域名及备案?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】