Java base64转临时文件
时间: 2023-05-23 20:07:15 浏览: 371
A:
以下是Java中使用Base64将字符串转为临时文件的示例代码:
```
import sun.misc.BASE64Decoder;
import java.io.FileOutputStream;
import java.io.IOException;
public class Base64File {
public static void main(String[] args) {
String base64String = "data:image/png;base64,iVBORw0KG..."; // Base64字符串
// 截取Base64字符串中的文件类型和编码字符串
String[] parts = base64String.split(",");
String fileType = parts[0].split(":")[1].split(";")[0];
String fileData = parts[1];
// Base64解码成二进制字节数组
BASE64Decoder decoder = new BASE64Decoder();
byte[] binaryData;
try {
binaryData = decoder.decodeBuffer(fileData);
} catch (IOException e) {
e.printStackTrace();
return;
}
// 保存字节数组为临时文件
try {
// 创建临时文件
String tempFileName = "tempfile." + fileType;
FileOutputStream outputStream = new FileOutputStream(tempFileName);
outputStream.write(binaryData);
outputStream.close();
System.out.println("保存临时文件成功:" + tempFileName);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
其中,使用了`sun.misc.BASE64Decoder`类来解码Base64字符串,需要注意该类不在Java SE标准库中,在部分Java环境中可能不存在或被标记为“不推荐使用”的类,因此可能需要进行单独引入或查看其文档进行使用。此外,该示例中假定Base64字符串以"data:image/png;base64,"开头,可根据实际情况进行修改。
阅读全文