zoukankan      html  css  js  c++  java
  • 图片路径转base64字节码

    package product;
     
    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;
     
    /** 
     * @author  E-mail: test_t@163.COM
     * @createTime 创建时间:2016/12/6 上午9:26:48 
     * @类说明  图片文件转化为字节数组字符
     * @copyright 
     */
     
    public class domeImage {
    	/**
    	 * @Descriptionmap 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
    	 * @author
    	 * @Date 
    	 * @param path 图片路径
    	 * @return
    	 */
    	public static String imageToBase64(String path) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
    	    byte[] data = null;
    	    // 读取图片字节数组
    	    try {
    	        InputStream in = new FileInputStream(path);
    	        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编码过的字节数组字符串
    	}
     
    	/**
    	 * @Descriptionmap 对字节数组字符串进行Base64解码并生成图片
    	 * @author 
    	 * @Date 2016-12-06
    	 * @param base64 图片Base64数据
    	 * @param path 图片路径
    	 * @return
    	 */
    	public static boolean base64ToImage(String base64, String path) {// 对字节数组字符串进行Base64解码并生成图片
    	    if (base64 == null){ // 图像数据为空
    	        return false;
    	    }
    	    BASE64Decoder decoder = new BASE64Decoder();
    	    try {
    	        // Base64解码
    	        byte[] bytes = decoder.decodeBuffer(base64);
    	        for (int i = 0; i < bytes.length; ++i) {
    	            if (bytes[i] < 0) {// 调整异常数据
    	                bytes[i] += 256;
    	            }
    	        }
    	        // 生成jpeg图片
    	        OutputStream out = new FileOutputStream(path);
    	        out.write(bytes);
    	        out.flush();
    	        out.close();
    	        return true;
    	    } catch (Exception e) {
    	        return false;
    	    }
    	}
     
     
    	//测试
    	public static void main(String[] str) throws Exception {
    		
    		String path = "D:\1.jpg";
    		String base64 = domeImage.imageToBase64(path);
    	
    		
    		domeImage.base64ToImage(base64, "D:\2.png");
    		
    		System.out.println(base64+"+++++++++++");
    		
    		
    		
    	}
     
     
     
    }
    

      

  • 相关阅读:
    2009 中国软件技术英雄会
    《致加西亚的信》一书中的一个隐蔽错误
    英文版XP不能打开带有中文路径的chm文件的解决办法
    NetBeans 时事通讯(刊号 # 49 Mar 17, 2009)
    对《致加西亚的信》的异议
    NetBeans 时事通讯(刊号 # 49 Mar 17, 2009)
    Linux运行时I/O设备的电源管理框架
    groovy正则提取完整版本
    Linux 流量监控软件 NetHogs
    Re: 在北京待着到底为了什么
  • 原文地址:https://www.cnblogs.com/MagicAsa/p/9516054.html
Copyright © 2011-2022 走看看