给网友们整理相关的编程文章,网友冷曼文根据主题投稿了本篇教程内容,涉及到Java、文件、base64、相互转换、Java文件和base64流相互转换功能详解相关内容,已被680网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。
Java文件和base64流相互转换功能详解
本文实例讲述了Java实现文件和base64流的相互转换功能。分享给大家供大家参考,具体如下:
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(); } }