相关文章推荐
想表白的领结  ·  Handler 接收Parcelable ...·  10 月前    · 
耍酷的啄木鸟  ·  Kotlin 数组 ...·  1 年前    · 
成熟的登山鞋  ·  PHP ...·  1 年前    · 

读取InputStream数据到byte数组中 您可以使用java.io包中的ByteArrayOutputStream类和InputStream类来完成此操作。将数据读取到字节数组中是为了便于将其转换为Base64编码。

以下是一个简单的示例代码:

InputStream inputStream = ...; // 需要转换的InputStream对象
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
    outputStream.write(buffer, 0, bytesRead);
byte[] data = outputStream.toByteArray();

使用Java 8的Base64类进行编码 在Java 8中,您可以使用Base64类轻松地将字节数组转换为Base64编码的字符串。以下是一个简单的示例代码:

String base64String = Base64.getEncoder().encodeToString(data);

这将返回一个Base64编码的字符串,其中包含InputStream对象的数据。

完整的示例代码如下:

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.Base64;
public class InputStreamToBase64 {
    public static String convertToBase64(InputStream inputStream) throws Exception {
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        byte[] buffer = new byte[4096];
        int bytesRead = -1;
        while ((bytesRead = inputStream.read(buffer)) != -1) {
            outputStream.write(buffer, 0, bytesRead);
        byte[] data = outputStream.toByteArray();
        String base64String = Base64.getEncoder().encodeToString(data);
        return base64String;

请注意,这只是一个示例代码,您需要根据自己的具体需求进行调整。

  •