`
ymq267
  • 浏览: 126116 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

BufferedReader和BufferedWriter

    博客分类:
  • Java
 
阅读更多
1. java.io.BufferedReader和java.io.BufferedWriter类各拥有8192字符的缓冲区。当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。如果缓冲区数据不足,才会再从文件中读取,使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区中。如果缓冲区中的数据满了,才会一次对目的地进行写出。

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

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


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


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


    package ysu.hxy;  
    import java.util.*;  
    import java.io.*;  
      
    public class BufferedReaderWriterDemo   
    {  
        public static void main(String[] args)   
        {  
            try  
            {  
                //缓冲System.in输入流  
                //System.in是位流,可以通过InputStreamReader将其转换为字符流  
                BufferedReader bufReader = new BufferedReader(new InputStreamReader(System.in));  
                //缓冲FileWriter 并写入文件的路径,追加写入,无源文件时,新建再写入
                BufferedWriter bufWriter = new BufferedWriter(new FileWriter(new FileWriter("c:\\Result.txt",true)));  
      
                String input = null;  
      
                //每读一行进行一次写入动作  
                while(!(input = bufReader.readLine()).equals("quit"))  
                {  
                    bufWriter.write(input);  
                    //newLine()方法写入与操作系统相依的换行字符,依执行环境当时的OS来决定该输出那种换行字符  
                    bufWriter.newLine();  
                }  
                bufReader.close();  
                bufWriter.close();  
            }  
            catch(ArrayIndexOutOfBoundsException e)  
            {  
                System.out.println("没有指定文件");  
            }  
            catch(IOException e)  
            {  
                e.printStackTrace();  
            }  
        }  
    }  


运行结果:

D:\hxy>java ysu.hxy.BufferedReaderWriterDemo test2.txt
fsdafjads;fa
fasdfas
asdfdaf
asd
fdas
fds
fa
df
asdf
dasff
adsf
a
fasd
quit

会在目录下产生一个文件test2.txt,并在其中写入刚才输入的内容。
分享到:
评论

相关推荐

    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

    山东科技大学-Java数据结构实验五.docx

    * 流类库的使用:包括使用 BufferedReader 和 BufferedWriter 实现文件读写操作,使用 System.in 获取用户输入等。 * 文件读写操作:包括将用户输入的文字写入到文件中,并从文件中读取数据。 * 对象流的使用:包括...

    JAVA程序员笔试面试题汇总及答案.pdf,这是一份不错的文件

    * BufferedReader 和 BufferedWriter 以字符流的方式读写文本文件,且效率更高 * FileInputStream 和 FileOutputStream 以字节流的方式读写文本文件 六、流相关知识点 * java.io.Reader 用于读入 16 位字符,也...

    阿里巴巴校园招聘阿里云笔试试题题目.doc

    1. 文件操作:Java程序可以通过使用BufferedReader和BufferedWriter类来复制文件内容。 2. 正则表达式:Java提供了Pattern和Matcher类来处理正则表达式,用于匹配字符串。 3. HashMap:HashMap是Java中的散列表实现...

    文件流的读取与写入

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

    职工信息管理系统java源代码

    在该系统中,文件输入输出是通过BufferedReader和BufferedWriter类实现的,BufferedReader用于读取用户的输入,而BufferedWriter用于将职工信息写入到文件中。 5. 异常处理 在该系统中,异常处理是通过throws ...

    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

Global site tag (gtag.js) - Google Analytics