• 字符缓冲流BufferedWriter和BufferedWriter


    字符缓冲流

    1、基本用法

     1 import java.io.BufferedReader;
     2 import java.io.BufferedWriter;
     3 import java.io.FileReader;
     4 import java.io.FileWriter;
     5 import java.io.IOException;
     6 
     7 /**
     8  * BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
     9  * BufferedWriter:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
    10  * @author Administrator
    11  *
    12  */
    13 public class BufferedStreamDemo {
    14     public static void main(String[] args) throws IOException {
    15         //创建缓冲流对象
    16         BufferedWriter bw=new BufferedWriter(new FileWriter("C:\Test\bw.txt"));
    17         bw.write("hello");
    18         //bw.flush();
    19         bw.close();
    20         
    21         //一次读取一个字符
    22         //创建输入缓冲流对象
    23         BufferedReader br=new BufferedReader(new FileReader("C:\Test\bw.txt"));
    24         int ch;
    25         while((ch=br.read())!=-1) {
    26             System.out.print((char)ch);
    27         }
    28         br.close();
    29         System.out.println();
    30         //一次读取一个字符数组
    31         BufferedReader br2=new BufferedReader(new FileReader("C:\Test\bw.txt"));
    32         int len=0;
    33         char chs[]=new char[1024];
    34         while((len=br2.read(chs))!=-1) {
    35             System.out.print(new String(chs,0,len));
    36         }
    37         br2.close();
    38     }
    39 }

     2、缓冲流复制文本文件两种方式

     1 import java.io.BufferedReader;
     2 import java.io.BufferedWriter;
     3 import java.io.FileReader;
     4 import java.io.FileWriter;
     5 import java.io.IOException;
     6 
     7 /**
     8  * 需求:把项目路径下的BufferedStreamCopy.java中的内容复制到项目路径下的copy.java中
     9  * @author Administrator
    10  *
    11  */
    12 public class BufferedStreamCopy {
    13     public static void main(String[] args) throws IOException {
    14         BufferedReader br=new BufferedReader(new FileReader("BufferedStreamCopy.java"));
    15         BufferedWriter bw=new BufferedWriter(new FileWriter("copy.java"));
    16          //第一种方式,一次读取一个字符
    17 //        int ch;
    18 //        while((ch=br.read())!=-1) {
    19 //            bw.write(ch);
    20 //        }
    21         
    22          //第二种方式,一次读取一个字符数组
    23         int len;
    24         char[] chs=new char[1024];
    25         while((len=br.read(chs))!=-1) {
    26             bw.write(chs,0,len);
    27         }
    28     
    29         br.close();
    30         bw.close();
    31         
    32     }
    33 }

     3、缓冲流的特殊功能

    BufferedWriter:

        void  newLine():写一个换行符,这个换行符由系统决定

    BufferedReader

        String readLine():一次读取一行数据,但是不读取换行符

     1 import java.io.BufferedReader;
     2 import java.io.BufferedWriter;
     3 import java.io.FileReader;
     4 import java.io.FileWriter;
     5 import java.io.IOException;
     6 
     7 /**
     8  * 需求:把项目路径下的BufferedStreamCopy.java中的内容复制到项目路径下的copy.java中
     9  * @author Administrator
    10  *
    11  */
    12 public class BufferedStreamCopy {
    13     public static void main(String[] args) throws IOException {
    14         BufferedReader br=new BufferedReader(new FileReader("copy1.java"));
    15         BufferedWriter bw=new BufferedWriter(new FileWriter("copy2.java"));
    16         String str;
    17         while((str=br.readLine())!=null) {
    18             bw.write(str);
    19             bw.newLine();
    20         }
    21         br.close();
    22         bw.close();
    23         
    24         BufferedReader brshow=new BufferedReader(new FileReader("copy2.java"));
    25         String str2;
    26         while((str2=brshow.readLine())!=null) {
    27             System.out.println(str2);
    28         }        
    29         brshow.close();
    30         
    31     }
    32 }
  • 相关阅读:
    Java JDBC 连接ORACLE ORA-12505错误解决方法
    SqlServer 打开/关闭列自增
    【小程序】倒计时
    【MySQL 主从同步延迟的原因及解决办法】
    【Linux Mysql主从配置】整理主从配置遇到的坑!
    关于post和get传递参数的区别
    CSS基础属性介绍
    js-06-字符串
    js-07-事件
    js-08-数组学习
  • 原文地址:https://www.cnblogs.com/hopeyes/p/9710533.html
Copyright © 2020-2023  润新知