• 字符流缓冲区的使用之BufferedWriter和BufferedReader


    从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取,代码中使用了输入缓冲区的特有的方法:readLine(),获取一行文本数据

    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    
    public class BufferedReaderDemo {
    
     /**
      * @param args
      * @throws IOException 
      */
     public static void main(String[] args) throws IOException {
    
      FileReader fr=new FileReader("Demo.txt");
         BufferedReader bufr=new BufferedReader(fr);
         String line=null;
         while((line=bufr.readLine())!=null){
          System.out.println(line);
         }
     }
    
     public static void demo() throws FileNotFoundException, IOException {//此方法是不使用缓冲区的常规方法
      FileReader fr=new FileReader("Demo.txt");
      char buf[]=new char[1024];
      int len=0;
      while((len=fr.read(buf))!=-1){
       System.out.println(new String(buf,0,len));
      }
     }
    
    }
    
    将文本写入字符输出流,缓冲各个字符,从而实现字符、数组和字符串的高效读取,代码中使用了输入缓冲区的特有的方法:nextLine(), 写入一个行分隔符。
    
    package IODemo;
    
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class BufferedWriterDemo {
    
     private static final String SEPARATOR = System.getProperty("line.separator");
    
     /**
      * @param args
      * @throws IOException 
      */
     /*
      * 為了提高写入的效率,使用了字符流的缓冲区
      * 创建了一个字符写入流的缓冲区对象,并要和指定的被缓冲的对象
      * 相关联
      */
     public static void main(String[] args) throws IOException {
    
      FileWriter fw=new FileWriter("Demo2.txt");
      BufferedWriter bufw=new BufferedWriter(fw);
      //使用缓冲区的方法将数据写入到缓冲区汇总
      bufw.write("abc0"+SEPARATOR+"abc4");
    //  bufw.newLine();
      bufw.write("abc1");
    //  bufw.newLine();
      bufw.write("abc2");
      for(int i=1;i<=4;i++){
       bufw.write("Java"+i);
       //使用缓冲区的刷新方法将数据刷新到目的地
       bufw.flush();
      }
      //关闭缓冲区,其实关闭的就是被缓冲的流对象
      bufw.close();
     }
    
    }
  • 相关阅读:
    Python Pandas基本操作
    自监督 论文 Self-supervised Visual Feature Learning with Deep Neural Networks
    KDD 论文 Multimodal Attentional Neural Networks for Diagnosis Prediction
    实例分割 论文 Multi-scale Cell Instance Segmentation with Keypoint Graph Based Bounding Boxes
    Torchtext使用教程 文本数据处理
    KDD 论文 Measuring Patient Similarities via a Deep Architecture with Medical Concept Embedding
    Python 进阶知识点
    Python 多进程和多线程
    Memcached服务端以及Memcached API部署
    Linux-Dockerfile指令详解
  • 原文地址:https://www.cnblogs.com/ysw-go/p/5281186.html
Copyright © 2020-2023  润新知