zoukankan      html  css  js  c++  java
  • Java中的缓冲流详解

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

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

      构造方法:

      BufferedReader(Reader in);

      BufferedWriter (Writer out);

      2BufferedReaderBufferedWriter类读写文件的方法:

      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);

      }

      br.close();

      fr.close();

      } catch (IOException e) {

      e.printStackTrace();

      }

      }

      }

      运行结果

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

  • 相关阅读:
    wonderful life
    .net 4.5 webform 提取ModelState错误信息
    asp.net core Theme 中间件
    asp.net mvc 动态编译生成Controller
    asp.net mvc中换肤机制类库 ThemedViewEngines
    vs code 添加jquery的智能提示
    vs2017 iisexpress 绑定自定义域名
    asp.net Mvc 动态创建Controller
    查询Windows api
    预先创建占用一定磁盘空间的文件(使用C#)
  • 原文地址:https://www.cnblogs.com/gaobig/p/6274727.html
Copyright © 2011-2022 走看看