缓冲流(2)

字符缓冲流

## 字符缓冲输入流【BufferedWriter】

java.io.BufferedWriter extends Writer

继承父类的共性的成员方法:

  • void write (int c) 写入单个字符。
  • void write (char[] cbuf)写入字符数组
  • abstract void write(char[] cbuf,int off,in len)写入字符数组的某一部分
  • void write (String str) 写入字符串。
  • void write (String str,int off,int len) 写入字符串的某一部分
  • void flush() 刷新该流的缓冲
  • void close() 关闭流,但要先刷新他

构造方法:

  • BufferedWriter(Writer out)创建一个使用默认大小输出流缓冲区字符输出流

  • BufferedWriter(Writer out,int size)创建一个使用给定大小输出缓冲区的字符输出流

    特有构造方法:

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

使用步骤:

		1.创建字符缓冲输出流对象,构造方法中传递字符输出流
		2.调用字符换出输出流中的方法Writer,把数据写入到内存缓冲区中
		3.调用字符缓冲输出流中的方法flush,把内存缓冲区中的数据,刷新到文件中
		4.释放资源

代码如下:

public class Demo01BufferedWriter {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		//1.创建字符缓冲输出流对象,构造方法中传递字符输出流
		FileWriter fw=new FileWriter("a.txt");
		BufferedWriter bw=new BufferedWriter(fw);
		//2.调用字符换出输出流中的方法Writer,把数据写入到内存缓冲区中
		String str="hello java";
		bw.write(str);
		//使用特有的构造方法void newLine()写入一个行分隔符
		String str1="好好学习";
		bw.write(str1);
		bw.newLine();
		String str2="天天向上";
		bw.write(str2);
		bw.newLine();
		//3.调用字符缓冲输出流中的方法flush,把内存缓冲区中的数据,刷新到文件中
		bw.flush();
		//4.释放资源
		bw.close();
	}

}

截图如下:
在这里插入图片描述
## 字符缓冲输出流【BufferedReader】

java.io.BufferedReader extends Reader

继承自父类的共性成员方法

  • int read() 读取单个字符并返回
  • int read(char[] cbuf) 一次读取多个字符,将字符读入数组
  • void close() 关闭该流并释放与之关联的所有资源

构造方法:

  • BufferedReader(Reader in)创建一个使用默认大小输入缓冲区的缓冲字符输入流

  • BufferedReader(Reader in,int size)创建一个使用指定大小输入缓冲区的缓冲字符输入流

    特有成员方法:

  • String readLine()读取一个文本行,读取一行数据

    **返回值:**包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,返回null

使用步骤:

	1.创建字符缓冲输入流对象,构造方法中传递字符输入流
	2.使用字符缓冲输入流对象中的read/readLine读取文本
	3.释放资源

代码如下:
读取的文档:
在这里插入图片描述

public class Demo01BufferedReader {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		//1.创建字符缓冲输入流对象,构造方法中传递字符输入流
		BufferedReader br=new BufferedReader(new FileReader("a.txt"));
		//2.使用字符缓冲输入流对象中的read/readLine读取文本
		/*int len=0;
		while((len=br.read())!=-1) {
			System.out.print((char)len);
		}*/	
		/*使用特有方法String readLine()读取一个文本行,读取一行数据
		 读取一行数据
		 */
		String str=br.readLine();
		System.out.print(str);
		/*
		 //使用循环一行一行的读取
		 String line;
		while((line=br.readLine())!=null) {
			System.out.println(line);
		}*/
		//3.释放资源
		br.close();
	}
}

截图如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZeroBase.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值