带有缓冲区的流 Buffer
根据流出现的位置,分为包装流,处理流,节点流
BufferedInputStream
BufferedOutputStream
BufferedReader 缓冲区的字符输入流
readerLine()方法
public static void main(String[] args) throws IOException {//FileReader f = new FileReader("D:\\ppp\\qpqp");//节点流//BufferedReader br = new BufferedReader(f );//将文件字符输入流包装成带有缓冲区的字符输入流----包装流(处理流)//根据流出现的位置,分为包装流,处理流,节点流BufferedReader br = new BufferedReader(new FileReader("D:\\ppp\\qpqp.txt"));String temp = null;while((temp = br.readLine())!=null){//READER方法读取一行,但是行尾没有换行符System.out.println(temp);}br.close();//关闭只需要关闭最外层的包装流(装饰者模式)}
转换流 InputStreamReader
public static void main(String[] args) throws IOException {//包装流和节点流是相对而言得//FileInputStream f = new FileInputStream("D:\\ppp\\qpqp.txt");//w文件字节输入流//转换流//InputStreamReader isr = new InputStreamReader(f);//BufferedReader br = new BufferedReader(isr);BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\ppp\\qpqp.txt")));String temp = null;while((temp = br.readLine())!=null) {System.out.println(temp);}//装饰者模式br.close();}
接收用户的键盘输入
//接受用户键盘输入/*Scanner sc = new Scanner(System.in);//是一个标准的输入流,可以默认接受键盘的输入String str = sc.next();//等待用户的输入System.out.println(str);//输出*///BufferedReader接收用户的输入BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//每一次都接收一行String s = br.readLine();System.out.println(s);br.close();
BufferedWriter缓冲区的字符输出流
//创建带有缓冲区的字符输出流//BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\ppp\\qpqp.txt"));BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\ppp\\qpqp.txt",true)));bw.write("ai");bw.newLine();//写入一个行分隔符bw.write("开幕式");bw.flush();bw.close();
文件的复制
BufferedReader br = new BufferedReader(new FileReader("D:\\ppp\\qpqp.txt"));BufferedWriter vi = new BufferedWriter(new FileWriter("D:\\ppp\\p.txt"));String temp = null;while((temp = br.readLine())!=null ){vi.write(temp);vi.newLine();}vi.flush();br.close();vi.close();
带有缓冲区的流 Buffer相关推荐
- Java的IO操作(二) - 带缓冲区的流对象、写入基本数据类型、实现命令行中的copy命令...
在上一节中,我们使用FileInputStream类和FileOutputStream类来实现了一个可以自由拷贝文件的功能.为了提高效率,我们人为地定义一个缓冲区byte[] 数组.其实,我们可以使用 ...
- IO流--buffer
示例展示: package buffer;import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...
- 优秀的内存规划方法——环形缓冲区(ring buffer)
目录 什么是环形缓冲区 使用环形buffer的好处 环形buffer的使用场景 进程间通信 网络IO 区分缓冲区是满或者是空 计数 保持一个存储单元为空 镜像指示位 buffer满了之后的操作 实时流 ...
- SQL Server 环形缓冲区(Ring Buffer) -- 介绍
SQL Server 环形缓冲区(Ring Buffer) -- 介绍 以下关于Ring Buffer的介绍转载自: http://zh.wikipedia.org/wiki/%E7%92%B0%E5 ...
- Android系统Surface机制的SurfaceFlinger服务对帧缓冲区(Frame Buffer)的管理分析
在前文中,我们分析了SurfaceFlinger服务的启动过程.SurfaceFlinger服务在启动的过程中,会对系统的硬件帧缓冲区进行初始化.由于系统的硬件帧缓冲区一般只有一个,并且不是谁都可以随 ...
- ArcGIS实验教程——实验十七:缓冲区分析(Buffer Analysis)
ArcGIS实验视频教程合集:<ArcGIS实验教程从入门到精通>(附配套实验数据) [实验描述] 缓冲区(Buffer)是为了识别某一地理实体对周围地物的影响而在其周围建立的一定宽度多边 ...
- SQL Server 环形缓冲区(Ring Buffer) -- 环形缓冲在AlwaysOn的应用
SQL Server 环形缓冲区(Ring Buffer) -- 环形缓冲在AlwaysOn的应用 可以从SQL Server环形缓冲区得到一些诊断AlwaysOn的信息,或从sys.dm_os_ri ...
- Python并行编程(四):多线程同步之condition(条件变量)实现带有缓冲区的生产者-消费者模型...
什么是Condtion? 所谓condition条件变量,即这种机制是在满足了特定的条件后,线程才可以访问相关的数据. 这种同步机制就是一个线程等待特定的条件,另一个线程通知它条件已经发生.一旦条件发 ...
- 在Java 8中,有没有一种简洁的方法可以迭代带有索引的流?
本文翻译自:Is there a concise way to iterate over a stream with indices in Java 8? Is there a concise way ...
最新文章
- 如何利用pyecharts绘制炫酷的关系网络图?
- golang 项目的目录结构
- iphone开发之轻松搞定原生socket 编程,阻塞与非阻塞,收发自如
- Python Number(数字)
- Android学习笔记(三):Andriod程序框架
- 锐动SDK针对游戏直播提出的解决方案
- Ubuntu下安装pip
- leetcode-728-Self Dividing Numbers
- 【java】监听器、box和JFrame的应用
- linux 黑酷命令行背景图片
- 二十一天学通VC++之创建用户界面线程
- Java多组输入实现 C++多组输入实现
- 在vue项目中开发环境的跨域配置
- 有源与无源晶振的区别
- 几十万台 Exchange 服务器已被入侵,修复补丁来了
- CAD设计大神这样玩CAD!而你真的会用外部参照嘛?
- qt开发linux界面软件,利用Qt Designer开发Qt界面
- 关于5G无人机的最强科普
- 【毕业设计教程】单片机发送短信消息(GMS模块) - 物联网 嵌入式 stm32
- (操作系统原理·第三章)五个哲学家吃通心面 问题