要将字节数组转换为 InputStreamReader,可以使用 Java 8 中的 StandardCharsets 类的实例来指定字符集,然后使用 ByteArrayInputStream 包装字节数组,并将其传递给 InputStreamReader 的构造函数。以下是示例代码:

import java.io.ByteArrayInputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;

public class Main {
    public static void main(String[] args) {
        byte[] bytes = {97, 98, 99}; // 示例字节数组
        ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
        InputStreamReader inputStreamReader = new InputStreamReader(byteArrayInputStream, StandardCharsets.UTF_8);

        // 接下来可以使用 InputStreamReader 读取字节流并将其转换为字符流
        // 例如,可以使用 InputStreamReader 的 read() 方法逐个读取字符
        try {
            int c;
            while ((c = inputStreamReader.read()) != -1) {
                char character = (char) c;
                System.out.print(character);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上述示例代码中,我们将字节数组{97, 98, 99}转换为 InputStreamReader,并使用 UTF-8 字符集进行解码。然后,我们使用 InputStreamReader 的 read() 方法逐个读取字符,并将其打印到控制台上。在本例中,输出将为'abc'。


原文地址: https://www.cveoy.top/t/topic/p8P7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录