java 将图片文件转成base64再转回文件
时间: 2023-10-04 17:12:16 浏览: 106
将图片文件转成base64可以使用以下代码:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Base64;
public class ImageToBase64 {
public static void main(String[] args) {
String imagePath = "path/to/image.jpg";
String base64Image = getImageAsBase64(imagePath);
System.out.println(base64Image);
}
private static String getImageAsBase64(String imagePath) {
File file = new File(imagePath);
try (FileInputStream imageInFile = new FileInputStream(file)) {
byte[] imageData = new byte[(int) file.length()];
imageInFile.read(imageData);
return Base64.getEncoder().encodeToString(imageData);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
```
将base64转回文件可以使用以下代码:
```java
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Base64;
public class Base64ToImage {
public static void main(String[] args) {
String base64Image = "base64-encoded-image";
String imagePath = "path/to/image.jpg";
saveImageFromBase64(base64Image, imagePath);
}
private static void saveImageFromBase64(String base64Image, String imagePath) {
try (FileOutputStream imageOutFile = new FileOutputStream(imagePath)) {
byte[] imageByteArray = Base64.getDecoder().decode(base64Image);
imageOutFile.write(imageByteArray);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
注意:以上代码仅适用于处理小文件。如果要处理大文件,请使用缓冲区。
阅读全文