A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.xbl.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class File2Code {

        /**
         * <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("D:\\1.jpg");
                        System.out.println(base64Code);
                        decoderBase64File(base64Code, "D:\\2.jpg");
                        toFile(base64Code, "D:\\three.txt");                       
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }

}

将任何文件转成base64字符串,文件传输用。

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马