首页 > 代码库 > 用Base64编码图片

用Base64编码图片

从此地址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 = http://www.mamicode.com/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();            }}