您的位置:首页 > 编程语言 > Java开发

如何将文件通过base64字符加密以及解码保存到目标文件

2017-11-02 00:00 507 查看
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
* Created by Administrator on 2017/10/28 0028.
*/
public class FileUtil {
public static final String DEPATH = "D:/test/deFile/test.jsp";
public static final String ENPATH = "D:/test/enFile/test.jsp";
public static final String PATH = "D:/test/File/test.jsp";
/**
* 将文件转成base64字符串
* @param path 文件路径
* @return String
* @throws Exception
* */
public static String encodeBase64File(String path)throws Exception{
File file = new File(path);
FileInputStream fileInputStream = new FileInputStream(file);
byte[] buffer = new byte[(int)file.length()];
//是否read读入的数据交给buffer
fileInputStream.read(buffer);
fileInputStream.close();
return new BASE64Encoder().encode(buffer);
}
/**
* 将文件base64字符解码并保存到目标文件
* @param base64Code 字符串 targetPath 目标文件
* @return void
* @throws Exception
* */
public static void decoderBase64File(String base64Code,String targetPath)throws Exception{
byte[] buffer = new BASE64Decoder().decodeBuffer(base64Code);
FileOutputStream fileOutputStream = new FileOutputStream(targetPath);
fileOutputStream.write(buffer);
fileOutputStream.close();
}
/**
* 将文件base64字符保存文件
* @param base64Code 字符串 targetPath 目标文件
* @return void
* @throws Exception
* */
public static void base64ToFile(String base64Code,String targetPath)throws Exception{
byte[] buffer = base64Code.getBytes();
FileOutputStream fileOutputStream = new FileOutputStream(targetPath);
fileOutputStream.write(buffer);
fileOutputStream.close();
}
public static void main(String[] agrs){
try {
String base64Code = encodeBase64File(ENPATH);
System.out.println(base64Code);
decoderBase64File(base64Code,DEPATH);
base64ToFile(base64Code,PATH);
}catch (Exception e){
e.printStackTrace();
}
}
}
注:仅供分享,内容参照其他学者
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java
相关文章推荐