zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    }
  • 相关阅读:
    ConcurrentHashMap总结
    HashMap在多线程环境下操作可能会导致程序死循环
    oracle数据库的 to char 和to date 区别(时间格式化)
    SQL中的cast()函数用法
    常见的垃圾收集器有3类-java面试一
    mybatis中sql引用
    mysql find_in_set 查询
    用Redis实现微博关注关系的分析
    C#与C++相比较之STL篇(续一)
    Vite2.0 入门
  • 原文地址:https://www.cnblogs.com/rinack/p/9019161.html
Copyright © 2011-2022 走看看