BufferedWriter 和 BufferedReader 为带有默认缓冲的字符输出输入流,因为有缓冲区所以效率比没有缓冲区的高。

一、BufferedWriter 类

构造方法:bufferedWriter bf = new bufferedWriter(Writer out );

主要方法:void write(char ch);//写入单个字符。

                  void write(char []cbuf,int off,int len)//写入字符数据的某一部分。

                  void write(String s,int off,int len)//写入字符串的某一部分。

                  void newLine()//写入一个行分隔符。

                  void flush();//刷新该流中的缓冲。将缓冲数据写到目的文件中去。

                  void close();//关闭此流,再关闭前会先刷新他。

[java] view plain copy

  1. package Buffered;
  2. import java.io.BufferedWriter;
  3. import java.io.FileWriter;
  4. import java.io.IOException;
  5. public class BufferedWriterDemo {
  6. public static void main(String[] args) throws IOException {
  7. FileWriter fw = new FileWriter("Buffered.txt");
  8. //      fw.write("ok168");
  9. //      fw.close();
  10. /**
  11. * 为了提高写入的效率,使用了字符流的缓冲区。
  12. * 创建了一个字符写入流的缓冲区对象,并和指定要被缓冲的流对象相关联。
  13. */
  14. BufferedWriter bufw = new BufferedWriter(fw);
  15. //使用缓冲区中的方法将数据写入到缓冲区中。
  16. bufw.write("hello world !");
  17. bufw.newLine();
  18. bufw.newLine();
  19. bufw.write("!hello world !");
  20. bufw.write("!hello world !");
  21. //使用缓冲区中的方法,将数据刷新到目的地文件中去。
  22. bufw.flush();
  23. //关闭缓冲区,同时关闭了fw流对象
  24. bufw.close();
  25. }
  26. }

二、BufferedReader类。

构造方法:BufferedReader br = new BufferReader(Reader in);

主要方法:

int read();//读取单个字符。

int read(char[] cbuf,int off,int len);//将字符读入到数组的某一部分。返回读取的字符数。达到                                                            尾部 ,返回-1。

String readLine();                        //读取一个文本行。

void close();                                //关闭该流。并释放与该流相关的所有资源。

自定义的一个myBufferedReader类。

[java] view plain copy

  1. package Buffered;
  2. import java.io.FileReader;
  3. import java.io.IOException;
  4. public class MyBufferedReader {
  5. private FileReader fr;
  6. private char []buf = new char[1024];
  7. private int count = 0;
  8. private int pos = 0;
  9. public MyBufferedReader(FileReader f){
  10. this.fr = f;
  11. }
  12. public int myRead() throws IOException{
  13. if(count == 0){
  14. count = fr.read(buf);
  15. pos = 0;
  16. }
  17. if(count<0)
  18. return -1;
  19. int ch = buf[pos++];
  20. count--;
  21. return ch;
  22. }
  23. public String myReadLine() throws IOException{
  24. StringBuilder sb = new StringBuilder();
  25. int ch = 0;
  26. while ((ch = myRead()) != -1) {
  27. if (ch == '\r')
  28. continue;
  29. if (ch == '\n')
  30. return sb.toString();
  31. sb.append((char) ch);
  32. if(count == 0)
  33. return sb.toString();
  34. }
  35. return null;
  36. }
  37. public void myClose() throws IOException {
  38. fr.close();
  39. }
  40. }

使用bufferedReader 和bufferWriter方法写的一个复制文本的小程序

[java] view plain copy

  1. package IOtest;
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. public class TextCopyByBuf {
  8. /**
  9. * 首先创建读取字符数据流对象关联所要复制的文件。
  10. * 创建缓冲区对象关联流对象。
  11. * 从缓冲区中将字符创建并写入到目的文件中。
  12. * @throws IOException
  13. */
  14. public static void main(String[] args) throws IOException {
  15. FileReader fr = new FileReader("C:\\demo.txt");
  16. FileWriter fw = new FileWriter("D:\\love.txt");
  17. BufferedReader bufr = new BufferedReader(fr);
  18. BufferedWriter bufw = new BufferedWriter(fw);
  19. //一行一行的寫。
  20. String line = null;
  21. while((line = bufr.readLine()) != null){
  22. bufw.write(line);
  23. bufw.newLine();
  24. bufw.flush();
  25. }
  26. /*  一個字節一個字節的寫。
  27. int ch = 0;
  28. while((ch = bufr.read())!=-1){
  29. bufw.write(ch);
  30. }*/
  31. bufr.close();
  32. bufw.close();
  33. }
  34. }

转载于:https://www.cnblogs.com/dengyungao/p/7524884.html

Java :BufferedWriter类和BufferedReader类的构造方法、主要方法相关推荐

  1. java bufferedread_java中关于bufferedreader类中read方法

    java中关于bufferedreader类中read方法 关注:58  答案:2  mip版 解决时间 2021-01-14 05:40 提问者孤城古巷 2021-01-13 06:28 如下.此时 ...

  2. JAVA中常用IO流类:BufferedReader和BufferedWriter读取文件操作

    一.BufferedReader 字符串缓冲读取类 构造方法:bufferedWriter bf = new bufferedWriter(Writer out ); 主要方法:void write( ...

  3. java bufferedreader类_详解java中的BufferedReader类

    Java中BufferedReader类 构造方法: 一:public BufferedReader(Reader in,int sz) 1.用指定大小输入缓冲区的缓冲字符输入流: 2.in 一个 R ...

  4. java定义一个类显示没有_Java 中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。_学小易找答案...

    [单选题]关于 Java 语言叙述错误的是( ). [判断题]类中 static 修饰的变量或方法,可以使用类名或对象的引用变量访问. [命名题]命名下列化合物, [单选题]急性胰腺炎的主要临床表现是 ...

  5. java构造方法 隐含三步_Java入门总结--------类和对象关系以及构造方法

    Java中重写父类的方法要遵循"两同两小一大"规则, "两同"即方法名相同.形参列表相同: "两小"指的是子类方法的返回值类型应比父类方法返 ...

  6. Think in java(四)枚举类enum的基本特性、构造方法与方法覆盖、Switch语句中的enum运用

    一.基本enum特性 package test;enum Fruit{PEACH,LEMON,BANANA,Apple}public class EnumClasstest {public stati ...

  7. JAVA类和对象(构造方法、方法重载、this关键字)

    Java是一门完全面向对象的编程语言:类和对象是面向对象编程的基础和核心. 面向对象的编程思想是来源于现实生活:面向对象编程是使用代码来模拟现实生活中的场景. 1.现实生活中有哪些是对象? 对象:在现 ...

  8. Java BufferedReader类简介说明

    转自: Java BufferedReader类简介说明 下文讲述BufferedReader类的功能简介说明,如下所示: BufferedReader类中提供以下功能:缓冲字符输入流Buffered ...

  9. 面向过程和面向对象的设计思想、java类、Java类的定义、java对象、对象的创建和使用、类和对象、变量分类、方法分类、构造方法、方法的重载

    1.面向过程和面向对象的设计思想 面向过程:procedure oriented programming 缩写 POP. 分析出解决问题所需要的步骤,然后把步骤一步一步实现. 面向过程直接关注流程. ...

最新文章

  1. 顶点(vertexs) 图元(primitives) 片元(fragments片断) 像素(pixels)
  2. Git常用命令和Github协同流程
  3. 必须要熬夜的时候的最佳伴侣是什么?亲测有效
  4. 图像增强(一):randaugment
  5. 洛谷——P3909 异或之积
  6. 浅谈C#中virtual和abstract的区别
  7. Linux 内核/sys 文件系统之sysfs 属性文件
  8. 南方cass字体样式设置_几种常见的CASS字体异常问题,教你如何解决(附字体下载)...
  9. SSM框架的原理和运行流程
  10. CMYK与RGB颜色区别
  11. 关于AD中如何绘制原理图及其封装
  12. 输出实数的格式,包括:⑴一行输出一个实数;⑵一行内输出两个实数;⑶一行内输出三个实数。实数用“6.2f“格式输出2020.11.12
  13. 30+英文电子书免费下载网站,跟喜欢看英文电子书的朋友分享
  14. MySQL练习题(4)
  15. Debian修改DNS
  16. 彻底弄懂JS的事件冒泡和事件捕获
  17. 【开发者平台汇总】-各大平台开发者及开放平台集锦
  18. 电路的网孔电流法建模 matlab,第3节 网孔电流法
  19. 漂洋过海,与Splunk第一次近距离接触!
  20. 利用python爬虫爬取图片并且制作马赛克拼图

热门文章

  1. 线性表 ----链表的C语言实现
  2. 【100题】第十六题(层序打印树的节点)
  3. 视频会议的分类和适用范围详解
  4. 清除AD中残留的Exchange2003服务器信息
  5. 解决push的时候有时候会卡一下的问题
  6. 安森美电量计采用内部电阻跟踪电流--电压HG-CVR
  7. 【原创】项目管理杂谈(1):代码评审这点事,元芳你怎么看
  8. Qt中不规则窗体和部件的实现
  9. Proximal Algorithms 3 Interpretation
  10. Redis设计与实现阅读总结(二)单机数据库的实现