Java文件转base64用法
- 编程知识
- 2023-05-26
- 9
一、Base64是什么?
Base64 是一种基于64个可打印字符来表示二进制数据的表示方法,通常用于在一些HTTP请求、json数据传输等场合中使用,将原始数据编码成 ASCII 字符序列的可执行文件,以便于传输。
在Java中,可以使用Base64类提供的方法对二进制数据进行编码和解码。
二、如何将Java文件转成Base64?
下面是Java代码示例,实现将文件转成Base64的操作:
import java.io.FileInputStream; import java.io.IOException; import java.util.Base64; public class FileToBase64 { public static void main(String[] args) { String fileName = "test.txt"; String base64Str = ""; try (FileInputStream fileInputStream = new FileInputStream(fileName)) { byte[] bytes = new byte[fileInputStream.available()]; fileInputStream.read(bytes); base64Str = Base64.getEncoder().encodeToString(bytes); } catch (IOException e) { e.printStackTrace(); } System.out.println(base64Str); } }
首先定义一个文件名变量,然后使用FileInputStream类读取文件内容,再将文件内容转化成字节流存储。接着使用Base64.getEncoder().encodeToString(bytes) 方法将字节流转换成Base64字符串。最后将结果打印出来。
三、如何将Base64字符串解码成Java文件?
下面是Java代码示例,实现将Base64字符串解码成Java文件的操作:
import java.io.FileOutputStream; import java.io.IOException; import java.util.Base64; public class Base64ToFile { public static void main(String[] args) { String base64Str = "dGVzdA=="; byte[] bytes = Base64.getDecoder().decode(base64Str); try (FileOutputStream fileOutputStream = new FileOutputStream("test.txt")) { fileOutputStream.write(bytes); fileOutputStream.flush(); System.out.println("文件转换成功!"); } catch (IOException e) { e.printStackTrace(); } } }
首先定义一个Base64字符串变量,然后使用Base64.getDecoder().decode(base64Str) 方法将字符串转成字节流。接着使用FileOutputStream类将字节流写入到对应的文件位置中。最后打印出文件转换成功的提示信息。
四、Base64的使用场景
Base64不仅仅只用于HTTP请求、json数据传输中,还可以用于以下场景:
1、在XML文件中传输八位元组数据,特别是那些含有非法字符的数据。
2、在URL中传输数据,但目前已经被URL编码取代。
3、电子邮件的传输,因为很多电子邮件系统只能处理ASCII字符。
五、结语
本文介绍了如何使用Java将文件转成Base64字符串,并将其解码成Java文件。同时提到了Base64的使用场景。希望本文对读者有所帮助。