Java读取文本文件

Java IO系统里读写文件使用Reader和Writer两个抽象类,Reader中read()和close()方法都是抽象方法。Writer中 write(),flush()和close()方法为抽象方法。子类应该分别实现他们。
Java IO已经为我们提供了三个方便的Reader的实现类,FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等。

FileReader读txt文件例子

@Test
public void readByFileReader() throws IOException {
    try (FileReader reader = new FileReader(file)) {
        int ch = 0;
        while ((ch = reader.read()) != -1) {
            System.out.print((char) ch);
        }
    }
}

其中read()方法返回的是读取得下个字符。
读取 3608 行数据耗时 2.075s

InputStreamReader读txt文件例子

@Test
public void readByBufferedReader() throws IOException {
    try (BufferedReader bufferedReader = new BufferedReader(new FileReader(
            file))) {
        String lineTxt = null;
        while ((lineTxt = bufferedReader.readLine()) != null) {
            System.out.println(lineTxt);
        }
    }
}

读取 3608 行数据耗时 0.174s

坚持原创技术分享,您的支持将鼓励我继续创作!