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时也必须注意文件编码的问题,否则可能会产生乱码的情况。
