68. 缓存输入输出字符流

Posted 江小白谢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了68. 缓存输入输出字符流相关的知识,希望对你有一定的参考价值。

输入字符流:
--------------| Reader 输入字符流的基类。 抽象类
----------| FileReader 读取文件的输入字符流
----------| BufferedReader 缓存输入字符流(提高效率和扩展了FileReader的功能)。内部其实也维护了一个字符数组

扩展功能:
readLine()     一次读取文本的一行数据,如果读取到了文件末尾返回null

输出字符流:
--------------| Write  输出字符流的基类。 抽象类
----------| FileWrite  向文件输入数据
----------| BufferedWrite 缓存输出字符流。 内部维护了一个字符数组,当我们使用write的时候是把数据存储到了字符数组中,并不是写入了文件中
当我们使用flush,close方法或者数组满了的时候,才会写入文件中

扩展功能:
newLine()    添加一个回车符,实际上就是输出(/r/n)


注意:缓存流都不具备读写文件的能力

public class Demo3 {
    public static void main(String[] args)throws IOException  {
        File file = new File("D:\\新建文件夹\\1.txt");
        readText(file);//原数据
        writeText(file);//添加数据
        System.out.println("-------------------------------");
        readText(file);//添加后数据
    }
    
    //一行一行读取文本
    public static void readText(File file) throws IOException {
        FileReader fileReader = new FileReader(file);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        String line = null;
        while((line = bufferedReader.readLine())!=null) {
            System.out.println(line);
        }
        bufferedReader.close();
    }
    
    //一行一行把数据存入文本中
    public static void writeText(File file) throws IOException {
        FileWriter fileWriter = new FileWriter(file,true);
        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
        bufferedWriter.newLine();//换行
        bufferedWriter.write("789   789");
        bufferedWriter.close();
    }
}

 

以上是关于68. 缓存输入输出字符流的主要内容,如果未能解决你的问题,请参考以下文章

带缓存的字符输入输出流

Java 输入输出流

几个输入输出函数

第十周课程总结

Java IO流 - 缓冲流的详细使用介绍

Java IO流 - 缓冲流的详细使用介绍