1.添加pom依赖:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
2.代码示例:
package com.sunny.util;
import java.io.*;
import java.util.Base64;
import java.util.Objects;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
/**
* @PACKAGE_NAME: com.sunny.util
* @AUTHOR: SunYingTao
* @DATE: 2022/12/12 15:54
* @DESCRIPTION: java文件和base64互转工具FileUtils.readFileToByteArray
*/
public class FileUtil {
/**
* 把文件转为base64
* @param path
* @return
* @throws Exception
*/
public static String convertBase64(String path) throws Exception {
if(StringUtils.isBlank(path)){
throw new Exception("path is null");
}else {
return convertBase64(new File(path));
}
}
/**
* 文件转为Base64
* @param file
* @return
* @throws Exception
*/
public static String convertBase64(File file) throws Exception {
if(Objects.isNull(file)){
throw new Exception("file is null");
}else if(!file.exists()){
throw new Exception("file is not exists");
}else{
StringBuilder result = new StringBuilder();
byte[] data = FileUtils.readFileToByteArray(file);
return result.append(Base64.getEncoder().encodeToString(data)).toString();
}
}
/**
* base64转File
* @param code
* @param path
* @return
* @throws IOException
*/
public static File base64ToFile(String code, String path) throws IOException {
File file = new File(path);
byte[] data = Base64.getDecoder().decode(code);
FileUtils.writeByteArrayToFile(file, data);
return file;
}
public static void main(String[] args) throws Exception {
try {
String basePath = "D:\\doc\\photo";
String fileName = "1.jpg";
String fullPath = basePath + File.separator + fileName;
//File转base64
String base64 = convertBase64(fullPath);
System.out.println(base64);
//base转File
String converPath = basePath + File.separator + "conver.jpg";
base64ToFile(base64, converPath);
} catch (IOException e) {
}
}
}
如有问题,欢迎指正~ 如能帮到您,欢迎点赞收藏~