首页 > 代码库 > 用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(); }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。