码迷,mamicode.com
首页 > 其他好文 > 详细

用Base64编码图片

时间:2014-07-25 13:56:51      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   java   color   os   文件   

从此地址http://commons.apache.org/proper/commons-codec/download_codec.cgi

 

下载commons-codec-1.9-bin.zip 解压取得commons-codec-1.9.jar 将jar包添加到eclipse创建好的Java项目工程中,即可引用jar包中提供的类。

 

public interface BinaryDecoder extends Decoder 接口也可以继承父接口

Base64.java源代码路径:

 commons-codec-1.9-src\src\main\java\org\apache\commons\codec\binary\Base64.java

 

因为Base64类是直接操作字节流,而不是字符流,这个类是线程安全的。

标准编码表 由26个大写字母 26个小写字母 0-9  +  /  共64的字符组成。

 

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.stream.FileImageOutputStream;
import org.apache.commons.codec.binary.Base64;

public class Base64Demo_01 {
    public static void main(String[] args) throws FileNotFoundException {
        //将图片文件转化为字节数组,并对其进行Base64编码处理
        File file = new File("c:\\a.jpg");
        FileInputStream fin = null;
        byte[] data = null;
        try {
            fin = new FileInputStream(file);
            data = new byte[fin.available()];
            fin.read(data);
            fin.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        //查看编码后生成字符串
        String encodeStr = Base64.encodeBase64String(data);
        System.out.println(encodeStr);
        File outFile = new File("c:\\save.txt");
        FileOutputStream fos = new FileOutputStream(outFile);
        try {
            fos.write(encodeStr.getBytes());
            fos.flush();
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        
        //按字节编码
        byte[] encodeImage = Base64.encodeBase64(data);
        //生成编码后的jpg图片
        File imgFile = new File("c:\\b.jpg");
        try {
            FileImageOutputStream fos1 = new FileImageOutputStream (imgFile);
            fos1.write(encodeImage);
            fos1.flush();
            fos1.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        System.out.println();
        

    }
}

用Base64编码图片,布布扣,bubuko.com

用Base64编码图片

标签:des   style   blog   http   java   color   os   文件   

原文地址:http://www.cnblogs.com/sphere/p/3867646.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!