Java中的缓冲流详解

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

  1BufferedReaderBufferedWriter类建立的对象称做缓冲输入、输出流。两者的源和目的地必须是字符输入流和字符输出流。数组

  构造方法:spa

  BufferedReader(Reader in);对象

  BufferedWriter (Writer out);blog

  2BufferedReaderBufferedWriter类读写文件的方法:字符串

  readLine() BufferedReader流读取文本行get

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

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

  示例io

  建立主类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);

  }

  br.close();

  fr.close();

  } catch (IOException e) {

  e.printStackTrace();

  }

  }

  }

  运行结果

 

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

相关文章
相关标签/搜索