[代码] [Java]代码
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
54
55
56
57
58
59
60
61
|
package
com.xbl.test;
import
java.io.File;
import
java.io.FileInputStream;
import
java.io.FileOutputStream;
import
sun.misc.BASE64Decoder;
import
sun.misc.BASE64Encoder;
public
class
File2Code {
/**
* <p>将文件转成base64 字符串</p>
* @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);
}
/**
* <p>将base64字符解码保存文件</p>
* @param base64Code
* @param targetPath
* @throws Exception
*/
public
static
void
decoderBase64File(String base64Code,String targetPath)
throws
Exception {
byte
[] buffer =
new
BASE64Decoder().decodeBuffer(base64Code);
FileOutputStream out =
new
FileOutputStream(targetPath);
out.write(buffer);
out.close();
}
/**
* <p>将base64字符保存文本文件</p>
* @param base64Code
* @param targetPath
* @throws Exception
*/
public
static
void
toFile(String base64Code,String targetPath)
throws
Exception {
byte
[] buffer = base64Code.getBytes();
FileOutputStream out =
new
FileOutputStream(targetPath);
out.write(buffer);
out.close();
}
public
static
void
main(String[] args) {
try
{
String base64Code =encodeBase64File(
"D:\\1.jpg"
);
System.out.println(base64Code);
decoderBase64File(base64Code,
"D:\\2.jpg"
);
toFile(base64Code,
"D:\\three.txt"
);
}
catch
(Exception e) {
e.printStackTrace();
}
}
}
|