基于Java实现文件和base64字符串转换
这篇文章主要介绍了基于Java实现文件和base64字符串转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
项目中遇到需要将图片转成base64编码的字符串的需求,但是,考虑到扩展性,写了一个可以转换任务类型文件的方法。需要引入的包:
commons-codec commons-codec 1.13
源码如下:
importsun.misc.BASE64Decoder;
importsun.misc.BASE64Encoder;
importjava.io.*;
publicclassBase64FileUtil{
privatestaticStringtargetFilePath="E:\\base2Img\\target\\test.txt";
publicstaticvoidmain(String[]args)throwsException{
StringfileStr=getFileStr("E:\\base2Img\\bigtest.txt");
System.out.println("fileStr==="+fileStr);
System.out.println(generateFile(fileStr,targetFilePath));
System.out.println("end");
}
/**
*文件转化成base64字符串
*将文件转化为字节数组字符串,并对其进行Base64编码处理
*/
publicstaticStringgetFileStr(StringfilePath){
InputStreamin=null;
byte[]data=null;
//读取文件字节数组
try{
in=newFileInputStream(filePath);
data=newbyte[in.available()];
in.read(data);
in.close();
}catch(IOExceptione){
e.printStackTrace();
}finally{
try{
in.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
//对字节数组Base64编码
BASE64Encoderencoder=newBASE64Encoder();
//返回Base64编码过的字节数组字符串
returnencoder.encode(data);
}
/**
*base64字符串转化成文件,可以是JPEG、PNG、TXT和AVI等等
*
*@parambase64FileStr
*@paramfilePath
*@return
*@throwsException
*/
publicstaticbooleangenerateFile(Stringbase64FileStr,StringfilePath)throwsException{
//数据为空
if(base64FileStr==null){
System.out.println("不行,oops!");
returnfalse;
}
BASE64Decoderdecoder=newBASE64Decoder();
//Base64解码,对字节数组字符串进行Base64解码并生成文件
byte[]byt=decoder.decodeBuffer(base64FileStr);
for(inti=0,len=byt.length;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。