Java解析图片
来源:互联网 发布:爬虫获取股票数据 编辑:程序博客网 时间:2024/06/05 23:07
由于开发中经常会遇到解析验证码图片字符串,所以把这篇文章给记录了下来。
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public class Base64Image { public static void main(String[] args) { // 测试从Base64编码转换为图片文件 String strImg = "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"; GenerateImage(strImg, "D:\\wangyc.jpg"); // 测试从图片文件转换为Base64编码 System.out.println(GetImageStr("D:\\wangyc.jpg")); } public static String GetImageStr(String imgFilePath) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 byte[] data = null; // 读取图片字节数组 try { InputStream in = new FileInputStream(imgFilePath); data = new byte[in.available()]; in.read(data); in.close(); } catch (IOException e) { e.printStackTrace(); } // 对字节数组Base64编码 BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(data);// 返回Base64编码过的字节数组字符串 } public static boolean GenerateImage(String imgStr, String imgFilePath) {// 对字节数组字符串进行Base64解码并生成图片 if (imgStr == null) // 图像数据为空 return false; BASE64Decoder decoder = new BASE64Decoder(); try { // Base64解码 byte[] bytes = decoder.decodeBuffer(imgStr); for (int i = 0; i < bytes.length; ++i) { if (bytes[i] < 0) {// 调整异常数据 bytes[i] += 256; } } // 生成jpeg图片 OutputStream out = new FileOutputStream(imgFilePath); out.write(bytes); out.flush(); out.close(); return true; } catch (Exception e) { return false; } }}转载于:http://www.cnblogs.com/mofish/archive/2010/11/26/1889126.html
阅读全文
0 0
- Java解析图片
- java poi 解析为图片
- java 解析图片类型 代码片段
- JAVA 压缩图片-解析一维码二维码
- java实现解析二进制文件(字符串、图片)
- java解析图片里面的数字
- 图片解析
- 图片解析
- 解析图片
- AspriseOCR破解用Java实现网络图片解析
- AspriseOCR破解用Java实现网络图片解析
- java中文件IO之图片的拷贝解析
- AspriseOCR破解用Java实现网络图片解析
- java 图片转64位字符串及解析
- java 解析网站的标题,简介,图片等
- java代码实现二维码图片的生成和解析
- Java解析字符串获取字符串中的图片路径
- java 二维码 生成和解析 (中间:图片、文字;底部:文字)
- Fiddler抓包使用教程-乱码处理 Decode
- 还是mui的日期选择插件使用,可以在弹出日期选择之前提问他是否想修改
- 【mongoDB高级篇①】聚集运算之group与aggregate
- LocalDate简介
- NS3网络仿真
- Java解析图片
- git
- HDU-5520-最小费用最大流
- 2017年6月16日
- C++项目中的extern "C" {}
- 机器学习: 激活函数的认识
- Java注解(Annotation)的基本概念
- java基于poi快速操作Excel的工具Excel4J v2.0.0
- kubernetes 1.6高可用集群在部署中遇到的问题