JAVA文件转换为Base64详解编程语言

JAVA文件转换为Base64

import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import sun.misc.BASE64Decoder; 
import sun.misc.BASE64Encoder; 
public class FileToBase64 { 
    /** 
    * <p>将文件转成base64 字符串</p> 
    * @param path 文件路径 
    * @return 
    * @throws Exception 
    */ 
    public static String encodeBase64File(String path) throws Exception { 
        File file = new File(path); 
        FileInputStream inputFile = new FileInputStream(file); 
        byte[] buffer = new byte[(int)file.length()]; 
        inputFile.read(buffer); 
        inputFile.close(); 
        return new BASE64Encoder().encode(buffer); 
    } 
    /** 
    * <p>将base64字符解码保存文件</p> 
    * @param base64Code 
    * @param targetPath 
    * @throws Exception 
    */ 
    public static void decoderBase64File(String base64Code,String targetPath) throws Exception { 
        byte[] buffer = new BASE64Decoder().decodeBuffer(base64Code); 
        FileOutputStream out = new FileOutputStream(targetPath); 
        out.write(buffer); 
        out.close(); 
    } 
    /** 
    * <p>将base64字符保存文本文件</p> 
    * @param base64Code 
    * @param targetPath 
    * @throws Exception 
    */ 
    public static void toFile(String base64Code,String targetPath) throws Exception { 
        byte[] buffer = base64Code.getBytes(); 
        FileOutputStream out = new FileOutputStream(targetPath); 
        out.write(buffer); 
        out.close(); 
    } 
    public static void main(String[] args) { 
        try { 
            String base64Code =encodeBase64File("/Users/Crazy/Pictures/zyb2.jpg"); 
            System.out.println(base64Code); 
            decoderBase64File(base64Code, "/Users/Crazy/Desktop/zyb.png"); 
            toFile(base64Code, "/Users/Crazy/Desktop/zyb.txt"); 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
    } 
}

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/16497.html

(0)
上一篇 2021年7月19日 19:22
下一篇 2021年7月19日 19:22

相关推荐

发表回复

登录后才能评论