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 捕获异常并存入数据库_java异常处理,报异常的话怎么处理对象值,并持久化到数据库中...

    展开全部 //没看到有人回e68a843231313335323631343130323136353331333365646233答你,我还没学到框架,不知道那个是不是可以很便捷操作你说的这样过程 / ...

  3. 读取ppt并存入数据库_Java解析Excel文件并把数据存入数据库

    前段时间做一个小项目,为了同时存储多条数据,其中有一个功能是解析Excel并把其中的数据存入对应数据库中.花了两天时间,不过一天多是因为用了"upload"关键字作为URL从而导致 ...

  4. java读取Excel文档 + 存入数据库

    序 在做项目的时候,我们有时想要读取Excel类型的文档,把表格里面的数据进行处理,比如把成绩Excel文档存储到数据库对应的表.而这时却不知道该如何操作,接下来我将讲解这个流程.以下面的数据为例 总 ...

  5. java图片保存文件到数据库_java保存图片内容到数据库

    本文使用mysql数据库举例插入图片到数据库和从数据库取出图片在页面显示: 一.建表 创建一个测试保存图片的表 create table t_save_img( name varchar(200), ...

  6. C#将照片或图片转化为byte[]存入数据库,从数据库中读照片

    1. 写入数据库: public static byte[] GetBytesByImage(PictureBox pb) { byte[] photo_byte= null; if (!pb.Ima ...

  7. java 数组存入数据库_Java中关于二维数组的理解与使用

    今天练习的时候遇到一个题目,题目需求是这样的: 需求说明: 根据3个班各5名学生某门课程的成绩,正确使用二维数组计算如图所示3个班各自的总成绩 分析: 要实现这个功能需要存储两个信息: 一个是班级信息 ...

  8. Java实现图片上传到数据库,并把上传的图片读取出来

    技术选型 技术选型: SpringBoot Vue技术方案: 采用数据库存储图片的方式,后端接口返回图片的base64流,插入数据库前对图片进行加密,接口查询进行解密. 实现 数据库 字段:head_ ...

  9. Java写入大字符串到oracle数据库_java程序如何提高oracle百万级数据的insert效率

    业务:需要从一个数据库查询百万级数据,在java程序中插入到另一个oracle数据库中 代码: private final int persize = 1000; /** * 推送数据-流程 * @p ...

最新文章

  1. Debian、Ubuntu安装源配置文件说明
  2. android通话记录列表apk,android打电话,发短信,获取通讯录、通话记录、短信记录...
  3. decimal函数python_decimal数据类型
  4. python对excel表统计视频教程_Python实现对excel文件列表值进行统计的方法
  5. 多规则策略如何筛选|视频版
  6. C#中Panel控件和GroupBox控件(未完成)
  7. 西电2021计算机考研大纲,2021年西安电子科技大学硕士研究生833计算机学科专业基础综合考试大纲...
  8. Color颜色——颜色模式、颜色基本特征、网页颜色以及其代码
  9. 群晖 nas docker 时间校准
  10. TCP端口映射与转发软件(TCP Mapping)简介
  11. java保龄球计分_自己写的java保龄球记分
  12. java网上图书商城_java网上图书商城(8)订单模块3
  13. 流,对话,会话,连接等一些基本概念
  14. 歌手详情页:下拉方大歌手图片
  15. 4A(统一安全管控平台)解析
  16. ffmpeg.dll丢失怎么办-ffmpeg.dll修复工具下载
  17. STM32F407多路串口通信进行数据收发
  18. dumpbin工具的使用(配图)
  19. omni_usdt钱包文件keypoolsize是否持续为100个地址测试
  20. Dalvik虚拟机详解(上)

热门文章

  1. C#获取屏幕大小的“简单整理”。。
  2. python RSA加密、解密、签名
  3. CentOS7 shell脚本安装jdk
  4. 用php实现随机点名,使用javascript做的一个随机点名程序
  5. mysql怎么修改表中的文字_mysql表中怎么修改字段?
  6. OpenGL Sharders(着色器) 入门
  7. 判断linux进程是否存在
  8. 计算机基础知识复习资料,计算机基础知识复习资料
  9. android 评论的展开功能,Android开发实现ListView点击展开收起效果示例
  10. java借口案例实现_java实现接口的典型案例