欢迎访问宙启技术站
智能推送

Java中如何使用InputStreamReader和BufferedReader函数读取文本文件内容?

发布时间:2023-06-26 06:56:15

在Java中要使用InputStreamReader和BufferedReader函数读取文本文件内容,需要先创建一个File对象,然后使用FileInputStream读取文件的字节流,将字节流通过InputStreamReader转化为字符流,最后使用BufferedReader逐行读取文件内容。

以下是一个示例代码:

import java.io.*;

public class ReadFile {
    public static void main(String[] args) {
        try {
            // 创建File对象
            File file = new File("test.txt");
            // 创建FileInputStream
            FileInputStream fileInputStream = new FileInputStream(file);
            // 创建InputStreamReader对象
            InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
            // 创建BufferedReader对象
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

            String line;
            // 逐行读取文件内容
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }

            // 关闭文件流
            bufferedReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,首先创建了一个File对象,指定要读取的文件名为test.txt。然后创建了一个FileInputStream对象fileInputStream,通过这个对象读取文件的字节流。接着,创建了一个InputStreamReader对象inputStreamReader,将字节流转化为字符流。最后,创建了一个BufferedReader对象bufferedReader,通过这个对象逐行读取文件内容。在while循环中,调用readLine方法可以逐行读取文件内容,并将每行内容输出到控制台。最后,关闭文件流。

需要注意的是,InputStreamReader和BufferedReader是属于读取字符流的函数,如果要读取二进制文件,需要使用InputStream和ByteBuffer。另外,在使用BufferedReader时也必须注意文件编码的问题,否则可能会产生乱码的情况。