java字符流,字符缓冲区输入流BufferedReader类介绍

下面要给大家介绍的就是和java字符缓冲区输入流BufferedReader类相关的知识,主要包含了BufferedReader类构造方法的重载形式以及使用。

BufferedReader类主要用于辅助其他字符输入流,它带有缓冲区,可以先将一批数据读到内存缓冲区,接下来的读操作就可以直接从缓冲区中获取数据,而不需要每次都从数据源读取数据并进行字符编码转换,这样就可以提高数据的读取效率。

BufferedReader类的构造方法重载形式:

BufferedReader(Reader in)-创建一个BufferedReader来修饰参数in指定的字符输入流。

BufferedReader(Reader in,int size)-创建一个BufferedReader来修饰参数in指定的字符输入流,参数size则用于指定缓冲区的大小,单位为字符。

除去能够为字符输入流提供缓冲区之外,BufferedReader还提供了方法,这个方法返回包含这个行内容的字符串,可是,这个字符串中不包含任何终止符,假如,已经到达流末尾,则返回null,readLine()方法表示每次读取一行文本内容,在遇到换行(\n)、回车(\r)或者回车后直接跟着换行标记符即可认为某行已终止。

示例:

使用BufferedReader类当中的readLine()方法逐行读取D:\myJava\Book.txt文件中的内容,并将读取的内容在控制台中打印输出。

代码:

public class Test13
{
    public static void main(String[] args)
    {
        FileReader fr = null;
        BufferedReader br = null;
        try
        {
            fr = new FileReader("D:\\myJava\\book.txt"); // 创建 FileReader 对象
            br = new BufferedReader(fr); // 创建 BufferedReader 对象
            System.out.println("D:\\myJava\\book.txt 文件中的内容如下:");
            String strLine = "";
            while ((strLine = br.readLine()) != null)
            { // 循环读取每行数据
                System.out.println(strLine);
            }
        }
        catch (FileNotFoundException e1)
        {
            e1.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                fr.close(); // 关闭 FileReader 对象
                br.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
    }
}

上面的代码,首先分别创建了名称为fr的FileReader对象和名称为br的BufferedReader对象,之后,调用BufferedReader对象的readLine()方法逐行读取文件中的内容,假如,读取的文件内容为Null,那么,就表示已经读取到文件尾部,这个时候退出循环不再进行读取操作,最后将字符文件输入流和带缓冲的字符输入流关闭。

输出结果:

D:\myJava\book.txt 文件中的内容如下:
热点要闻
个性推荐
热搜新闻词
本地看点

更多相关java基础内容,可以继续来奇Q工具网进行了解哦。

推荐阅读:

java字符流,字符缓冲区输出流BufferedWriter类介绍

java字符流,字符文件输入流FileReader类介绍

java字符流,字符文件输出流FileWriter类介绍