话不读说  直接上代码

 package cn.kgc.ssm.common;

 import java.io.*;

 /**
* @author
* @create 2019-08-15 9:36
**/
public class DDD {
/**
* 读取图片 返回一个图片的字节数组
* @param path
* @return
*/
public static byte[] imgArray(String path) {
//字节输入流
InputStream inputStream = null;
//字节缓冲流数组
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try {
inputStream = new FileInputStream(path);
byte[] b = new byte[1024];
int len = -1;
//循环读取
while ((len = inputStream.read(b)) != 1) {
byteArrayOutputStream.write(b, 0, len);
}
//返回byteArrayOutputStream数组
return byteArrayOutputStream.toByteArray();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
//关闭流
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
} public static void writeImg(byte[]array,String path){
//创建一个字节输出流
DataOutputStream dataOutputStream = null;
try {
dataOutputStream = new DataOutputStream(new FileOutputStream(path));
//将字节数组
dataOutputStream.write(array);
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
//关闭
dataOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} /**
* 读取二进制保存的图片 放到数组里
* @param path
* @return
*/
public static byte[] imageIn(String path){
//创建一个字节输出流
DataInputStream dataInputStream = null;
try {
dataInputStream = new DataInputStream(new FileInputStream(path));
//创建一个字节数组 byte的长度等于二进制图片的返回的实际字节数
byte[] b = new byte[dataInputStream.available()];
//读取图片信息放入这个b数组
dataInputStream.read(b);
return b;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
//关闭流
dataInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
} /**
* 读取二进制保存的图片 输出图片
* @param img
* @param path
*/
public static void writImg(byte[]img,String path){
//创建一个字节输出流
OutputStream outputStream = null;
try {
outputStream = new FileOutputStream(path);
//将图片输处到流中
outputStream.write(img);
//刷新
outputStream.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
//关闭
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} /**
* main方法
* @param args
*/
public static void main(String[] args) {
//获取图片 将图片信息把存到数组b中
byte[] b = DDD.imgArray("D:\\5.JPG");
//通过数组B写到文件中
DDD.writImg(b,"img.txt");
//读取二进制文件保存到一个数组中
byte[] c = DDD.imageIn("img.txt");
//通过数组c 输出图片
DDD.writImg(c,"img.jpg");
}
}

JAVA实现读取图片的更多相关文章

  1. java 读取图片色深

    问题: 想写一个小程序可读取图片的色深(bit-depth).网上有一些软件可完成这个功能,但是我想把程序做成一个可移植的插件. 本想用c写的,但实在麻烦,最后选择java,与很多方法不用自己写,速度 ...

  2. Java生成读取条形码和二维码图片

    原文:http://www.open-open.com/code/view/1453520722495 package zxing; import com.google.zxing.BarcodeFo ...

  3. java IO流读取图片供前台显示

    最近项目中需要用到IO流来读取图片以提供前台页面展示,由于以前一直是用url路径的方式进行图片展示,一听说要项目要用IO流读取图片感觉好复杂一样,但任务下达下来了,做为程序员只有选择去执行喽,于是找了 ...

  4. java 读取图片并转化为二进制字符串

    本例子的目的在于测试往oracle数据库中插入blob字段 //以下代码源于:https://www.cnblogs.com/ywlx/p/4544179.html public static Str ...

  5. Java - 处理某些图片泛红

    参考博文: http://blog.csdn.net/kobejayandy/article/details/44346809 http://blog.csdn.net/shixing_11/arti ...

  6. Servlet从本地文件中读取图片,并显示在页面中

    import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpSer ...

  7. 最蛋疼的bug:读取图片缩略图(一定要在相冊查看下形成缓存)

    近期的一个连接服务端的应用.须要读取图片,一般供用户公布商品选择上传图片.初始的图片列表应该是缩略图.仅仅有确定了,才上传原图,OK不多说上代码 package edu.buaa.erhuo; imp ...

  8. 导出含有图片的Java项目,图片不显示

    项目的一些图片资源文件在导出成JAR包后,无法正确读取虽然Java项目还是可以运行,但原来的图片资源全不见了,于是你可以打开JAR包看看里面的东西,确实是有图片在里面,就是无法读取. 其实是因为我们在 ...

  9. java 导出blob图片到excel

    实现功能,导出当前页面显示员工的图片,核心代码已给出,仅供参考, 如需转载请注明出处http://www.cnblogs.com/wangjianguang/p/7852060.html 随便再扯2句 ...

随机推荐

  1. sklearn学习 第一篇:knn分类

    K临近分类是一种监督式的分类方法,首先根据已标记的数据对模型进行训练,然后根据模型对新的数据点进行预测,预测新数据点的标签(label),也就是该数据所属的分类. 一,kNN算法的逻辑 kNN算法的核 ...

  2. ios下,微信小程序scrollview组件中的fixed元素抖得和帕金森病人一样

    问题现象 这个问题是最近在优化小程序代码时发现的. 在ios环境下,微信小程序的scrollview组件包裹着一个position:fixed的view. 当在scrollview组件上滑动时,这个v ...

  3. 2019.7 佳木斯培训A层

    day1题目及题解 day2题目及题解 day3题目及题解 day4题目及题解 day5题目及题解

  4. maven-build-downloading

    1. 场景描述 maven库用的是公司私服和阿里云结合的方式(maven多仓库配置),本项目maven依赖的有其他项目组的jar包(单点登录),但是天有不测风云,依赖单点登录的好几个jar包,在编译( ...

  5. 改MySQL的编码方式,解决jdbc MySQL中文乱码问题

    进MySQL安装目录,打开my.ini 这两个地方改成gbk 重启服务

  6. python协程详解

    目录 python协程详解 一.什么是协程 二.了解协程的过程 1.yield工作原理 2.预激协程的装饰器 3.终止协程和异常处理 4.让协程返回值 5.yield from的使用 6.yield ...

  7. javascript+jQuery补充

    一.jQuery事件绑定 <div class='c1'> <div> <div class='title'>菜单一</div> <div cla ...

  8. Windows to Linux API 映射

  9. SpringMVC的流程

    Springmvc的流程 1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求后,调用HandlerMapping处理映射器,请求获取Hand ...

  10. python3学习-pickle模块

    pickle提供了一个简单的持久化功能.可以将对象以文件的形式存放在磁盘上. 基本接口: pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中 ...