BufferedReader、LineNumberReader的作用与用法

一、BufferedReader

BufferedReader提供了下面两个功能:

  1. 在普通Reader的基础上,提供了缓冲功能,可以更加高效的读取
  2. 提供了读取一行的功能:readLine()

二、LineNumberReader

LineNumberReader继承自BufferedReader,并且增加了下面两个功能:

  1. 获取行号:getLineNumber()
  2. 设置行号:setLineNumber()

不过,setLineNumber()能改变行号,却不能改变读的位置。

实例:

package com.ghs.test;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.LineNumberReader;

public class Main {

    public static void main(String[] args) {
        InputStream in = Main.class.getResourceAsStream("test.log");
        LineNumberReader reader = new LineNumberReader(new InputStreamReader(in));
        String line;
        try {
            while ((line=reader.readLine()) != null) {
                System.out.println(reader.getLineNumber()+":"+line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

你可能感兴趣的:(Java基础)