java之base64code
最近在做項目中遇到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();
- }
- }
- }