📜  Java InputStreamReader类(1)

📅  最后修改于: 2023-12-03 14:42:14.533000             🧑  作者: Mango

Java InputStreamReader 类

Java InputStreamReader 类是将字节流转换成字符流的桥梁。它读取字节并使用指定字符集将其解码为字符。

构造方法
  • InputStreamReader(InputStream in):创建一个使用平台默认字符集的 InputStreamReader。
  • InputStreamReader(InputStream in, Charset cs):创建一个使用指定字符集的 InputStreamReader。
  • InputStreamReader(InputStream in, CharsetDecoder dec):创建一个使用指定字符集解码器的 InputStreamReader。
常用方法
  • int read():读取单个字符。
  • int read(char[] cbuf, int offset, int length):将字符读入数组中。
  • void close():关闭该流并释放与之关联的所有资源。
使用示例
import java.io.*;

public class Example {
    public static void main(String[] args) throws IOException {
        InputStream inputStream = new FileInputStream("example.txt");
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

        String line;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }

        bufferedReader.close();
        inputStreamReader.close();
        inputStream.close();
    }
}

以上示例中,我们使用了 FileInputStream 将文件读取为字节流,然后使用 InputStreamReader 将字节流转换为字符流,最后使用 BufferedReader 一行一行地读取字符流并输出到控制台上。

总结

Java InputStreamReader 类是将字节流转换成字符流的必要工具。它的常用方法使得字符流操作变得更加简单方便。在 Java 中,常常使用 FileInputStreamFileReader 对文件进行读取操作,其中 FileReader 实际上就是简单地将 FileInputStreamInputStreamReader 结合起来使用的。