Java实现文件和base64流的相互转换功能示例
本文实例讲述了Java实现文件和base64流的相互转换功能。分享给大家供大家参考,具体如下:
importjava.io.FileInputStream; importjava.io.FileOutputStream; importsun.misc.BASE64Decoder; importsun.misc.BASE64Encoder; /** *文件与base64的互相转换操作 */ publicclasstestFile{ publicstaticvoidmain(String[]args){ testFilet=newtestFile(); try{ Stringret=t.encodeBase64File("d://IE和火狐js或css差异.docx"); System.err.println(ret); t.decoderBase64File(ret,"d://ghsTest/retFile.docx","d://ghsTest/"); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } /** *将文件转成base64字符串 * *@parampath文件路径 *@return* *@throwsException */ publicstaticStringencodeBase64File(Stringpath)throwsException{ Filefile=newFile(path); FileInputStreaminputFile=newFileInputStream(file); byte[]buffer=newbyte[(int)file.length()]; inputFile.read(buffer); inputFile.close(); returnnewBASE64Encoder().encode(buffer); } /** *将base64字符解码保存文件 * *@parambase64Code *@paramtargetPath *@throwsException */ publicstaticvoiddecoderBase64File(Stringbase64Code,StringtargetPath,Stringcatalogue) throwsException{ Filefile=newFile(catalogue); if(file.exists()==false){ file.mkdirs(); } byte[]buffer=newBASE64Decoder().decodeBuffer(base64Code); FileOutputStreamout=newFileOutputStream(targetPath); out.write(buffer); out.close(); } }
PS:这里再推荐几款加密解密相关在线工具供大家参考使用:
线编码转换工具(utf-8/utf-32/Punycode/