码迷,mamicode.com
首页 > 其他好文 > 详细

文件和base64流的相互转换

时间:2015-01-28 17:55:57      阅读:871      评论:0      收藏:0      [点我收藏+]

标签:

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


import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
/**
 * 文件与base64的互相转换操作 
 */
public class testFile {


public static void main(String[] args) {
testFile t = new testFile();
try {
String ret = t.encodeBase64File("d://IE和火狐js或css差异.docx");
System.err.println(ret);
t.decoderBase64File(ret, "d://ghsTest/retFile.docx", "d://ghsTest/");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}
/**
     * 将文件转成base64 字符串
     *
     * @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);
 
    }
 
    /**
     * 将base64字符解码保存文件
     *
     * @param base64Code
     * @param targetPath
     * @throws Exception
     */
 
    public static void decoderBase64File(String base64Code, String targetPath,String catalogue)
            throws Exception {
    File file = new File(catalogue);
    if(file.exists()==false){
    file.mkdirs();
    }
        byte[] buffer = new BASE64Decoder().decodeBuffer(base64Code);
        FileOutputStream out = new FileOutputStream(targetPath);
        out.write(buffer);
        out.close();
 
    }
}

文件和base64流的相互转换

标签:

原文地址:http://blog.csdn.net/thghs/article/details/43233199

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!