`
forlab
  • 浏览: 129520 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

BufferedReader和BufferedWriter

 
阅读更多

 java.io.BufferedReader与java.io.BufferedWriter类各拥有8192字符的缓冲区。当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。如果缓冲区数据不足,才会再从文件中读取,使用BufferedWriter时,写入的数据并不会先输出至目的地,而是先存储至缓冲区中。如果缓冲区中的数据满了,才会一次对目的地进行写出。例如一个文件,通过缓冲区可减少对硬盘的输入/输出动作,以提高文件存取的效率。

      从标准输入流System.in中直接读取用户输入时,用户每输入一个字符,System.in就读取一个字符。为了能一次读取一行用户的输入,使用了BufferedReader来对用户输入的字符进行缓冲。readLine()方法会在读取到用户的换行字符时,再一次将整行字符串传入。

     System.in是一个位流,为了转换为字符流,可使用InputStreamReader为其进行字符转换,然后再使用BufferedReader为其增加缓冲功能。例如:

 

  1. BufferedReader reader =new BufferedReader(new InputStreamReader(System.in)); 

 

     范例14.19示范了BufferedReader与BufferedWriter的使用。可以在文字模式下输入字符,程序会将输入的文字存储至指定的文件中,如果要结束程序,输入quit字符串即可。

    范例14.19  BufferedReaderWriterDemo.java

 

  1. package onlyfun.caterpillar;  
  2. import java.io.*;  
  3. public class BufferedReaderWriterDemo  
  4. {  
  5.   public static void main(String[] args)  
  6.   {  
  7.       try 
  8.       {// 缓冲System.in输入流  
  9.          BufferedReader bufReader =new BufferedReader(new InputStreamReader(System.in));// 缓冲FileWriter字符输出流       BufferedWriter bufWriter =new BufferedWriter(new FileWriter(args[0]));              
  10.         String input = null;              
  11.         // 每读一行进行一次写入动作  
  12.          while(!(input =bufReader.readLine()).equals("quit"))   
  13.         {  
  14.            bufWriter.write(keyin);// newLine()方法写入与操作系统相依的换行字符  
  15.              bufWriter.newLine();  
  16.          }              
  17.          bufReader.close();  
  18.          bufWriter.close();  
  19.        }  
  20.        catch(ArrayIndexOutOfBoundsException e)            {  
  21.           System.out.println("没有指定文件");  
  22.        }  
  23.        catch(IOException e)   
  24.        {e.printStackTrace();}  
  25.    }  

 

由于换行字符依操作系统不同而有所区别,在Windows下是\r\n,在Linux下是\n,在Mac OS下是\r,您可以使用newLine()方法,由执行环境依当时的操作系统决定该输出哪一种换行字符。

分享到:
评论

相关推荐

    BufferedReader 和BufferedWriter 实例

    NULL 博文链接:https://lisanlai.iteye.com/blog/673253

    Java中BufferedReader与BufferedWriter类的使用示例

    BufferedReader与BufferedWriter分别继承于Reader和Writer类,分别为字符的读取和写入添加缓冲功能,这里我们就来看一下Java中BufferedReader与BufferedWriter类的使用示例:

    文件读写 BufferedReader BufferedWriter 示例 去除代码后面多余空格

    文件读写 BufferedReader BufferedWriter 去除代码后面空格 简单 readLine newLine flush

    文件流的读取与写入

    这是一个文件流的读取与写入程序(内部是源码) 是利用BufferedReader 和 BufferedWriter 来进行读取与写入的

    java.io常用方法(基本)

    我自己写的一些关于IO中的见解,可以用来参考。 File的增、删、改、查,FileReader和FileWriter类,BufferedReader和BufferedWriter类,ObjectOutputStream和ObjectInputStream类

    java入门之io包

    运用File类进行文件操作 理解流,标准输入/输出流的概念 运用FileInputStream和FileOutputStream类读写...运用BufferedReader和BufferedWriter类读写文本文件 运用DataInputStream和DataOutputStream类 读写二进制文件

    javaIo与流 读写文件

    1、在读写文件时必须的 2、File类 3、流 4、读写文件 运用FileInputStream和FileOutputStream类读写文本...运用BufferedReader和BufferedWriter类读写文本文件 运用DataInputStream和DataOutputStream类读写二进制 文件

    java学习SWING

    SWING-III.pptJava学习资料 运用File类进行文件操作 理解流,标准输入/输出流的概念 ...运用BufferedReader和BufferedWriter类读写文本文件 运用DataInputStream和DataOutputStream类 读写二进制文件

    IO基础(字符流)

    文章目录IO基础(字符流)一、字符流二、常用的字符流类的继承关系三、字符流 FileReader 和 FileWriter四、字符缓冲流 BufferedReader 和 BufferedWriter五、 字符字节转换流(InputStreamReader/...

    CSV_Adressbuch

    CSV_Adressbuch 使用BufferedReader和BufferedWriter处理CSV文件

    jsp最详细教程 最容易入门

    JSP 中的文件操作.......................................................BufferedReader 和BufferedWriter 类....................185 4.4 回压字符流......................................193 4.5 数据流...........

    用java IO流复制文本内容(包含中文字符)

    BufferedReader/BufferedWriter 实现从字节流到字符流的读取。代码用来实现文本内容的复制!

    基础深化和提高-常用类

    FileInputStream、FileOutputStream、BufferedReader、BufferedWriter等:用于进行文件和流的输入输出操作,可以读取、写入文件和处理数据流。 字符串处理类: String、StringBuffer、StringBuilder等:用于处理...

    Java I/O 流代码实例大全(01~09)

    Java I/O 流代码实例大全(01~09) File、FileInputStream、FileOutputStream、FileReader、FileWriter、BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter

    Java BufferedWriter BufferedReader 源码分析

    本文是关于Java BufferedWriter ,BufferedReader 简介、分析源码 对Java IO 流深入了解,希望看到的同学对你有所帮助

    JavaIo流分析图

    包括InputStream、OutputStream、FileInputStream、FileOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、InputStreamReader...FileReader、FileWriter、BufferedReader、BufferedWriter

    java IO流读写

    InputStream和OutputStream 1.DataInputStream,... BufferedReader,BufferedWriter 从Reader/Writer里读取基本类型的数据 2.BufferedInputStream,BufferedOutputStream 封装了从缓冲区读写指定数量数据的方法

    JavaIO流精讲上

    File类概述、File类功能讲解、JAVA IO流概述、字节流、字符流、缓冲流、InputStream、OutputStream、Reader、Writer、FileInputStream、FileOutputStream、...BufferedOutputStream、BufferedReader、BufferedWriter的讲解...

    java io包课件

    了解java.io包 ...运用FileReader类和FileWriter类配合BufferedReader类和BufferedWriter类读/写字符文件 使用BufferedReader类从控制台接受输入 运用DataInputStream类和DataOutputStream类读写数据文件

    java_文件复制(带有编码类型)

    BufferedWriter BufferedReader 具体例子

Global site tag (gtag.js) - Google Analytics