美文网首页
Java中的缓冲流详解

Java中的缓冲流详解

作者: 沧海一束 | 来源:发表于2017-01-11 18:22 被阅读0次

    缓冲流增强了读写文件的能力,比如Student.txt是一个学生的名单,每个姓名占一行。如果我们想要读取名字,那么每次必须读取一行,使用FileReader流很难完成这样的任务,因为我们不清楚一行有多少字符,FileReader类没有提供读取一行的方法。

    1.BufferedReader和BufferedWriter类创建的对象称作缓冲输入、输出流。二者的源和目的地必须是字符输入流和字符输出流。

    构造方法:

    BufferedReader(Reader in);

    BufferedWriter (Writer out);

    2.BufferedReader和BufferedWriter类读写文件的方法:

    readLine() BufferedReader流读取文本行

    write(String s,int off,int len)BufferedWriter流把字符串s写到文件中

    newLine(); BufferedWriter流向文件写入一个回行符

    示例

    创建主类Demo38

    文件如下:

    同样,保证c.txt为空内容,先从里面写,再从外面读

    import java.io.BufferedReader;

    import java.io.BufferedWriter;

    import java.io.File;

    import java.io.FileReader;

    import java.io.FileWriter;

    import java.io.IOException;

    public class Demo38 {

    public static void main(String[] args) {

    String[] content = {"我是中国人","我最爱祖国","我讨厌日本人","我也讨厌韩国人"}; //写入字符串数组

    File file = new File("C:\\Users\\blue\\Desktop\\test\\c.txt"); //写入目标文件

    try {

    FileWriter fw = new FileWriter(file); //第一层嵌套

    BufferedWriter bw = new BufferedWriter(fw); //传递给Writer的子类

    for(String str:content){ //增强for循环

    bw.write(str); //写入字符串

    bw.newLine(); //每一个字符串还换行

    }

    bw.close(); //从上层数据关流

    fw.close();

    写入成功且换行成功

    //操作的输入流对象

    FileReader fr = new FileReader(file);

    BufferedReader br = new BufferedReader(fr);

    String string = null;

    while((string = br.readLine())!= null){ //读取数组,到达文件尾部就是空

    System.out.println(string);

    }www.maiziedu.com/wiki/java/buffered/

    br.close();

    fr.close();

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    }

    运行结果

    原文链接:http://www.maiziedu.com/wiki/java/buffered/

    相关文章

      网友评论

          本文标题:Java中的缓冲流详解

          本文链接:https://www.haomeiwen.com/subject/plmrbttx.html