[代碼] [Java]代碼
01 package com.xbl.test;
02
03 import java.io.File;
04 import java.io.FileInputStream;
05 import java.io.FileOutputStream;
06
07 import sun.misc.BASE64Decoder;
08 import sun.misc.BASE64Encoder;
09
10 public class File2Code {
11
12 /**
13 * <p>將文件轉成base64 字符串</p>
14 * @param path 文件路徑
15 * @return
16 * @throws Exception
17 */
18 public static String encodeBase64File(String path) throwsException {
19 File file = new File(path);
20 FileInputStream inputFile = new FileInputStream(file);
21 byte[] buffer = new byte[(int)file.length()];
22 inputFile.read(buffer);
23 inputFile.close();
24 return new BASE64Encoder().encode(buffer);
25 }
26 /**
27 * <p>將base64字符解碼保存文件</p>
28 * @param base64Code
29 * @param targetPath
30 * @throws Exception
31 */
32 public static void decoderBase64File(String base64Code,String targetPath) throws Exception {
33 byte[] buffer = new BASE64Decoder().decodeBuffer(base64Code);
34 FileOutputStream out = new FileOutputStream(targetPath);
35 out.write(buffer);
36 out.close();
37 }
38 /**
39 * <p>將base64字符保存文本文件</p>
40 * @param base64Code
41 * @param targetPath
42 * @throws Exception
43 */
44 public static void toFile(String base64Code,String targetPath)throws Exception {
45 byte[] buffer = base64Code.getBytes();
46 FileOutputStream out = new FileOutputStream(targetPath);
47 out.write(buffer);
48 out.close();
49 }
50 public static void main(String[] args) {
51 try {
52 String base64Code =encodeBase64File("D:\\1.jpg");
53 System.out.println(base64Code);
54 decoderBase64File(base64Code, "D:\\2.jpg");
55 toFile(base64Code, "D:\\three.txt");
56 } catch (Exception e) {
57 e.printStackTrace();
58 }
59 }
60
61 }