本文实例讲述了Java实现文件和base64流的相互转换功能。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
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(); } } |
希望本文所述对大家java程序设计有所帮助。
原文链接:https://blog.csdn.net/thghs/article/details/43233199