为了账号安全,请及时绑定邮箱和手机立即绑定

缓冲流介绍和使用

标签:
Java

1.1 缓冲流的基本使用
1.1.1 案例代码八:

package com.itheima_04;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;/* * BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。 * BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 */public class BufferedStreamDemo {public static void main(String[] args) throws IOException {//创建输出缓冲流对象/*BufferedWriter bw = new BufferedWriter(new FileWriter("bw.txt"));bw.write("hello");//bw.flush();bw.close();*///创建输入缓冲流对象BufferedReader br = new BufferedReader(new FileReader("FileWriterDemo.java"));/*//一次读写一个字符int ch;while((ch=br.read())!=-1){System.out.print((char)ch);}*///一次读写一个字符数组char[] chs = new char[1024];int len;while((len=br.read(chs))!=-1) {System.out.print(new String(chs,0,len));}//释放资源br.close();}}

1.2 缓冲流复制文本文件的两种方式
利用缓冲流把项目路径下的FileWriterDemo.java中的内容复制到项目路径下的Copy.java中
第一种方式:使用缓冲流不使用字符数组
第二种方式:使用缓冲流使用字符数组
1.2.1 案例代码九:

package com.itheima_04;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;/* * 需求: * 把项目路径下的FileWriterDemo.java中的内容复制到项目路径下的Copy.java中 * * 数据源: * FileWriterDemo.java -- 读数据 -- FileReader -- 高效的读数据 -- BufferedReader * 目的地: * Copy.java -- 写数据 -- FileWriter -- 高效的写数据 -- BufferedWriter */public class CopyFileDemo {public static void main(String[] args) throws IOException {//创建输入缓冲流对象BufferedReader br = new BufferedReader(new FileReader("FileWriterDemo.java"));//创建输出缓冲流对象BufferedWriter bw = new BufferedWriter(new FileWriter("Copy.java"));//读写数据/*//一次读写一个字符int ch;while((ch=br.read())!=-1) {bw.write(ch);}*///一次读写一个字符数组char[] chs = new char[1024];int len;while((len=br.read(chs))!=-1) {bw.write(chs,0,len);}//释放资源bw.close();br.close();}}

1.3 缓冲流的特有方法使用
BufferedWriter
void newLine():写一个换行符,这个换行符由系统决定,不同的操作系统newLine()方法使用的换行符不同
windows:\r\n
linux:\n
mac:\r
BufferedReader
String readLine():一次读取一行数据,但是不读取换行符
1.3.1 案例代码十:

package com.itheima_05;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;/* * 缓冲流的特殊功能: * BufferedWriter * void newLine():写一个换行符,这个换行符由系统决定 * BufferedReader * String readLine():一次读取一行数据,但是不读取换行符 */public class BufferedStreamDemo {public static void main(String[] args) throws IOException {/*BufferedWriter bw = new BufferedWriter(new FileWriter("bw2.txt"));for(int x=0; x<10; x++) {bw.write("hello"+x);//bw.write("\r\n");bw.newLine();bw.flush();}bw.close();*/BufferedReader br = new BufferedReader(new FileReader("br.txt"));/*String line = br.readLine();System.out.println(line);line = br.readLine();System.out.println(line);line = br.readLine();System.out.println(line);line = br.readLine();System.out.println(line);*/String line;//1:br.readLine()//2:line=br.readLine()//3:line != nullwhile((line=br.readLine())!=null) {System.out.println(line);}br.close();}}

1.4 缓冲流的特有方法复制文件
1.4.1 案例代码十一:

package com.itheima_05;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;/* * 需求: * 把项目路径下的FileWriterDemo.java中的内容复制到项目路径下的Copy.java中 * * 数据源: * FileWriterDemo.java -- 读数据 -- FileReader -- 高效的读数据 -- BufferedReader * 目的地: * Copy.java -- 写数据 -- FileWriter -- 高效的写数据 -- BufferedWriter */public class CopyFileDemo {public static void main(String[] args) throws IOException {//创建输入缓冲流对象BufferedReader br = new BufferedReader(new FileReader("FileWriterDemo.java"));//创建输出缓冲流对象BufferedWriter bw = new BufferedWriter(new FileWriter("Copy.java"));//读写数据String line;while((line=br.readLine())!=null) {bw.write(line);bw.newLine();bw.flush();}//释放资源bw.close();br.close();}}

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消