zoukankan      html  css  js  c++  java
  • 字符流缓冲区的使用之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();
     }
    
    }
  • 相关阅读:
    C#学习之Enum
    Ten MustHave Tools Every Developer Should Download Now
    C#学习之Random
    C#学习之Exception
    WCF Data Contract之KnownType
    ESQL应该注意的地方
    Windows 安全认证是如何进行的?
    十个必备的.NET开发小工具
    c#中判断一个process是32bit还是64bit
    怎么用python和javascript把多张png拼成一个gif
  • 原文地址:https://www.cnblogs.com/ysw-go/p/5281186.html
Copyright © 2011-2022 走看看