Java :BufferedWriter类和BufferedReader类的构造方法、主要方法
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
- package Buffered;
- import java.io.BufferedWriter;
- import java.io.FileWriter;
- import java.io.IOException;
- public class BufferedWriterDemo {
- public static void main(String[] args) throws IOException {
- FileWriter fw = new FileWriter("Buffered.txt");
- // fw.write("ok168");
- // fw.close();
- /**
- * 为了提高写入的效率,使用了字符流的缓冲区。
- * 创建了一个字符写入流的缓冲区对象,并和指定要被缓冲的流对象相关联。
- */
- BufferedWriter bufw = new BufferedWriter(fw);
- //使用缓冲区中的方法将数据写入到缓冲区中。
- bufw.write("hello world !");
- bufw.newLine();
- bufw.newLine();
- bufw.write("!hello world !");
- bufw.write("!hello world !");
- //使用缓冲区中的方法,将数据刷新到目的地文件中去。
- bufw.flush();
- //关闭缓冲区,同时关闭了fw流对象
- bufw.close();
- }
- }
二、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
- package Buffered;
- import java.io.FileReader;
- import java.io.IOException;
- public class MyBufferedReader {
- private FileReader fr;
- private char []buf = new char[1024];
- private int count = 0;
- private int pos = 0;
- public MyBufferedReader(FileReader f){
- this.fr = f;
- }
- public int myRead() throws IOException{
- if(count == 0){
- count = fr.read(buf);
- pos = 0;
- }
- if(count<0)
- return -1;
- int ch = buf[pos++];
- count--;
- return ch;
- }
- public String myReadLine() throws IOException{
- StringBuilder sb = new StringBuilder();
- int ch = 0;
- while ((ch = myRead()) != -1) {
- if (ch == '\r')
- continue;
- if (ch == '\n')
- return sb.toString();
- sb.append((char) ch);
- if(count == 0)
- return sb.toString();
- }
- return null;
- }
- public void myClose() throws IOException {
- fr.close();
- }
- }
使用bufferedReader 和bufferWriter方法写的一个复制文本的小程序。
[java] view plain copy
- package IOtest;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- public class TextCopyByBuf {
- /**
- * 首先创建读取字符数据流对象关联所要复制的文件。
- * 创建缓冲区对象关联流对象。
- * 从缓冲区中将字符创建并写入到目的文件中。
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- FileReader fr = new FileReader("C:\\demo.txt");
- FileWriter fw = new FileWriter("D:\\love.txt");
- BufferedReader bufr = new BufferedReader(fr);
- BufferedWriter bufw = new BufferedWriter(fw);
- //一行一行的寫。
- String line = null;
- while((line = bufr.readLine()) != null){
- bufw.write(line);
- bufw.newLine();
- bufw.flush();
- }
- /* 一個字節一個字節的寫。
- int ch = 0;
- while((ch = bufr.read())!=-1){
- bufw.write(ch);
- }*/
- bufr.close();
- bufw.close();
- }
- }
转载于:https://www.cnblogs.com/dengyungao/p/7524884.html
Java :BufferedWriter类和BufferedReader类的构造方法、主要方法相关推荐
- java bufferedread_java中关于bufferedreader类中read方法
java中关于bufferedreader类中read方法 关注:58 答案:2 mip版 解决时间 2021-01-14 05:40 提问者孤城古巷 2021-01-13 06:28 如下.此时 ...
- JAVA中常用IO流类:BufferedReader和BufferedWriter读取文件操作
一.BufferedReader 字符串缓冲读取类 构造方法:bufferedWriter bf = new bufferedWriter(Writer out ); 主要方法:void write( ...
- java bufferedreader类_详解java中的BufferedReader类
Java中BufferedReader类 构造方法: 一:public BufferedReader(Reader in,int sz) 1.用指定大小输入缓冲区的缓冲字符输入流: 2.in 一个 R ...
- java定义一个类显示没有_Java 中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。_学小易找答案...
[单选题]关于 Java 语言叙述错误的是( ). [判断题]类中 static 修饰的变量或方法,可以使用类名或对象的引用变量访问. [命名题]命名下列化合物, [单选题]急性胰腺炎的主要临床表现是 ...
- java构造方法 隐含三步_Java入门总结--------类和对象关系以及构造方法
Java中重写父类的方法要遵循"两同两小一大"规则, "两同"即方法名相同.形参列表相同: "两小"指的是子类方法的返回值类型应比父类方法返 ...
- Think in java(四)枚举类enum的基本特性、构造方法与方法覆盖、Switch语句中的enum运用
一.基本enum特性 package test;enum Fruit{PEACH,LEMON,BANANA,Apple}public class EnumClasstest {public stati ...
- JAVA类和对象(构造方法、方法重载、this关键字)
Java是一门完全面向对象的编程语言:类和对象是面向对象编程的基础和核心. 面向对象的编程思想是来源于现实生活:面向对象编程是使用代码来模拟现实生活中的场景. 1.现实生活中有哪些是对象? 对象:在现 ...
- Java BufferedReader类简介说明
转自: Java BufferedReader类简介说明 下文讲述BufferedReader类的功能简介说明,如下所示: BufferedReader类中提供以下功能:缓冲字符输入流Buffered ...
- 面向过程和面向对象的设计思想、java类、Java类的定义、java对象、对象的创建和使用、类和对象、变量分类、方法分类、构造方法、方法的重载
1.面向过程和面向对象的设计思想 面向过程:procedure oriented programming 缩写 POP. 分析出解决问题所需要的步骤,然后把步骤一步一步实现. 面向过程直接关注流程. ...
最新文章
- 顶点(vertexs) 图元(primitives) 片元(fragments片断) 像素(pixels)
- Git常用命令和Github协同流程
- 必须要熬夜的时候的最佳伴侣是什么?亲测有效
- 图像增强(一):randaugment
- 洛谷——P3909 异或之积
- 浅谈C#中virtual和abstract的区别
- Linux 内核/sys 文件系统之sysfs 属性文件
- 南方cass字体样式设置_几种常见的CASS字体异常问题,教你如何解决(附字体下载)...
- SSM框架的原理和运行流程
- CMYK与RGB颜色区别
- 关于AD中如何绘制原理图及其封装
- 输出实数的格式,包括:⑴一行输出一个实数;⑵一行内输出两个实数;⑶一行内输出三个实数。实数用“6.2f“格式输出2020.11.12
- 30+英文电子书免费下载网站,跟喜欢看英文电子书的朋友分享
- MySQL练习题(4)
- Debian修改DNS
- 彻底弄懂JS的事件冒泡和事件捕获
- 【开发者平台汇总】-各大平台开发者及开放平台集锦
- 电路的网孔电流法建模 matlab,第3节 网孔电流法
- 漂洋过海,与Splunk第一次近距离接触!
- 利用python爬虫爬取图片并且制作马赛克拼图