Java中,将字节数组转成图片的有很多种方式,今天在这里记录其中一种,方便以后查询,也可以提供给没有接触的童鞋做一个参考。

首先是将图片转成字节数组

import sun.misc.BASE64Encoder;

import java.io.*;

// 传入图片路径,获取图片

FileInputStream fis = new FileInputStream("/Users/curry/error.png");

BufferedInputStream bis = new BufferedInputStream(fis);

ByteArrayOutputStream bos = new ByteArrayOutputStream();

byte[] buff = new byte[1024];

int len = 0;

while ((len = fis.read(buff)) != -1) {

bos.write(buff, 0, len);

}

// 得到图片的字节数组

byte[] result = bos.toByteArray();

// 将数组转为字符串

BASE64Encoder encoder = new BASE64Encoder();

String str = encoder.encode(result).trim();

将数组转为图片

import sun.misc.BASE64Decoder;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

BASE64Decoder decoder = new BASE64Decoder();

byte[] imgbyte = decoder.decodeBuffer("刚刚将字节数组转成的字符串");

OutputStream os = new FileOutputStream("/Users/curry/text.png");

os.write(imgbyte, 0, imgbyte.length);

os.flush();

os.close();

补充知识:java将图片转化为base64和base64转化为图片编码并保存在本地

我就废话不多说了,大家还是直接看代码吧~

public class Base64Convert {

/**

* @Description: 图片转化成base64字符串

* @param: path

* @Return:

*/

public static String GetImageStr(String path)

{

//将图片文件转化为字节数组字符串,并对其进行Base64编码处理

//待处理的图片

String imgFile = path;

InputStream in = null;

byte[] data = null;

//读取图片字节数组

try

{

in = new FileInputStream(imgFile);

data = new byte[in.available()];

in.read(data);

in.close();

}

catch (IOException e)

{

e.printStackTrace();

}

//对字节数组Base64编码

BASE64Encoder encoder = new BASE64Encoder();

//返回Base64编码过的字节数组字符串

return encoder.encode(data);

}

/**

* @Description: base64字符串转化成图片

* @param: imgStr

* @Return:

*/

public static boolean GenerateImage(String imgStr,String photoname)

{

//对字节数组字符串进行Base64解码并生成图片

//图像数据为空

if (imgStr == null)

return false;

BASE64Decoder decoder = new BASE64Decoder();

try

{

//Base64解码

byte[] b = decoder.decodeBuffer(imgStr);

for(int i=0;i

{

if(b[i]<0)

{

//调整异常数据

b[i]+=256;

}

}

//生成jpeg图片

String imagePath= Config.getUploadPhysicalPath();

//System.currentTimeMillis()

//新生成的图片

String imgFilePath = imagePath+photoname;

OutputStream out = new FileOutputStream(imgFilePath);

out.write(b);

out.flush();

out.close();

return true;

}

catch (Exception e)

{

return false;

}

}

}

以上这篇Java将byte[]转图片存储到本地的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

java byte 图片_Java将byte[]转图片存储到本地的案例相关推荐

  1. java将图片转byte存入数据库_Java将byte[]转图片存储到本地的案例

    Java中,将字节数组转成图片的有很多种方式,今天在这里记录其中一种,方便以后查询,也可以提供给没有接触的童鞋做一个参考. 首先是将图片转成字节数组 import sun.misc.BASE64Enc ...

  2. java oracle 图片_JAVA读取Oracle中的blob图片字段并显示

    JAVA读取Oracle中的blob图片字段并显示 近期,在给客户做一个Demo页面时,需要用JAVA读取Oracle中的blob图片字段并显示,在此过程中,遇到一些问题,例如:连接Oracle数据库 ...

  3. java 字节流 图片_Java下载图片一. 通过字节流传输

    Java下载图片 /*生成图片方法*/ public void makeImg(String url,String directory) { try { //创建流 BufferedInputStre ...

  4. java显示图片_java显示图片的方法

    java显示图片的方法 applet能显示GIF,JPEG,BMP等其他格式的图片.为了在applet中显示图片,你需要使用java.awt.Graphics类的drawImage()方法.以下是小编 ...

  5. java byte 保存_Java -- 保存byte[] 数据

    //创建文件,将byte数据直接进行保存 private RandomAccessFile file_test; try { File file = new File("/sdcard/da ...

  6. java byte大小_Java中byte大小格式化

    方法一 public static String readableFileSize(long size) { if (size <= 0) return "0"; final ...

  7. java水印图片_JAVA实用案例之图片水印开发

    写在最前面 上周零零碎碎花了一周的时间研究水印的开发,现在终于写了个入门级的Demo,做下笔记同时分享出来供大家参考. Demo是在我上次写的 JAVA实用案例之文件导入导出(POI方式) 框架基础上 ...

  8. java 爬虫 图片_java实现爬虫爬取小姐姐图片

    一.导入jsoup的maven依赖 org.jsoup jsoup 1.8.3 二.运行代码 也可以自定义爬取的网站这里就以https://gank.io/special/Girl为例 package ...

  9. java inputstream 图片_Java InputStream读取网络图片

    首页 > 基础教程 > IO流 > InputStream类 Java InputStream读取网络图片 Java从网络读取图片通过InputStream保存至本地,代码如下: p ...

最新文章

  1. Spring Cloud构建微服务架构:消息驱动的微服务(消费组)【Dalston版】
  2. 【DevOps】为什么我们永远疲于奔命?
  3. Spring Boot + Vue 前后端分离,两种文件上传方式总结
  4. Java中怎么把文本追加到已经存在的文件
  5. nandflash与文件系统,oob区数据扫盲。后面还会补充实际生产烧录的心得体验,依据不同的文件系统
  6. 眼控科技 实习算法工程师面试
  7. 边缘设备上的实时AI虫害消除:入门
  8. java api练习_Java接口练习
  9. nuget.server搭建及实际测试
  10. Brettle.Web.NeatUpload.dll大文件上传控件使用详解
  11. 基于OHCI的USB主机 —— USB设备其它数据结构
  12. UE4教程:虚幻4引擎(Unreal Engine 4)学习指南
  13. 使用华为云WeLink,体验无纸化办公的这些优点
  14. 影响网站跳出率的因素
  15. Python基础——模块和正则表达式
  16. 计算机原理(3)主板上的CPU,存储器,南桥北桥等的总结
  17. php for iis express,iis10.0完整安装包
  18. SpringBoot源码分析(二)之自动装配demo
  19. 微信群打卡小程序_微信打卡小程序上线,你会用吗?
  20. 东华大学计算机等级考试合格证书,内蒙古工业大学计算机等级考试合格证书

热门文章

  1. linux设备驱动七(时间、延迟及延缓操作)
  2. excel制作跨职能流程图_如何绘制泳道图(跨职能流程图)
  3. GParted图形化工具对Linux磁盘分区扩容
  4. html 漂浮浏览器,HTML5浏览器嵌入窗口程序解决方案 | Hoverlees#39; Blog
  5. 这3款音频文件转文字工具,操作真的很简单
  6. CSS3做齿轮旋转的动画
  7. HTML图片打开新窗口
  8. qt登录界面简单制作,是真的保姆级别了!!!
  9. 指针的大小与什么有关
  10. 最最最详细的C语言教程笔记零起步(10)进阶必备 同笔者一起学习