最近在做项目中遇到base64code处理的问题。下面是我写的示例:
原文参考自站长网http://www.software8.co/wzjs/java/2610.html
Java代码 :
- package com.juck.test;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import sun.misc.BASE64Decoder;
- import sun.misc.BASE64Encoder;
- public class Base64Code{
- //测试主方法
- public static void main(String[] args){
-
- final String fileName = "示例文件";
- final String fileSuffix = ".jpg";
- final String url = "XXXXXXX";//文件路径
- try{
- String base64Code=encoderToBase64Code(url);
- base64CodeToFile(base64Code,"D:\\BASE64编码字符串"+fileName+".txt");
- decoderToBase64Code(base64Code,"D:\\解码"+fileName+fileSuffix);
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- //文件转换程BASE64编码
- public static String encoderToBase64Code(String path)throws IOException{
-
- File file = new File(path);
- FileInputStream input = new FileInputStream(file);
- byte[] buffer = new byte[(int)file.length()];
- input.read(buffer);
- input.close();
- System.out.print(new BASE64Encoder().encode(buffer));//打印文件经过编码后的字符串
- return new BASE64Encoder().encode(buffer);
- }
- //BASE64字符串解码并保存文件
- public static void decoderToBase64Code(String base64Code,String targetPath) throws IOException{
- byte[] buffer = new BASE64Decoder().decodeBuffer(base64Code);
- FileOutputStream out = new FileOutputStream(targetPath);
- out.write(buffer);
- out.close();
- //BASE64字符串保存成文本
- public static void base64CodeToFile(String base64Code,String targetPath) throws IOException{
- byte[] buffer = base64Code.getBytes();
- FileOutputStream out = new FileOutputStream(targetPath);
- out.write(buffer);
- out.close();
- }
- }
- }