重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
base64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本。使用时,在传输编码方式中指定base64。使用的字符包括大小写字母各26个,加上10个数字,和加号“+”,斜杠“/”,一共64个字符,等号“=”用来作为后缀用途。
从网站建设到定制行业解决方案,为提供成都做网站、网站设计服务体系,各种行业企业客户提供网站建设解决方案,助力业务快速发展。创新互联将不断加快创新步伐,提供优质的建站服务。
代码如下:
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Base64;
import java.util.Base64.Encoder;
public class App {
public static void main(String[] args) throws IOException {
Encoder encoder = Base64.getEncoder();
byte[] buffer = new byte[1024];
int len = 0;
StringBuilder builder = new StringBuilder();
try (FileInputStream inputStream = new FileInputStream("d:\\temp\\abc.txt")) {
while ((len = inputStream.read(buffer)) != -1) {
byte[] src = Arrays.copyOfRange(buffer, 0, len);
builder.append(encoder.encodeToString(src));
}
}
System.out.println(builder.toString());
}
}
JAVA对一个文件进行base64编码
import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;
// 将 s 进行 BASE64 编码
public static String getBASE64(String s) {
if (s == null) return null;
return (new sun.misc.BASE64Encoder()).encode( s.getBytes() );
}
// 将 BASE64 编码的字符串 s 进行解码
public static String getFromBASE64(String s) {
if (s == null) return null;
BASE64Decoder decoder = new BASE64Decoder();
try {
byte[] b = decoder.decodeBuffer(s);
return new String(b);
} catch (Exception e) {
return null;
}
}