Java基础知识强化之IO流笔记38:字符流缓冲流之BufferedWriter / BufferedReader使用
2015-10-11 09:09
781 查看
1. 字符流缓冲流:
字符流为了高效读写,也提供了对应的字符缓冲流。
BufferedWriter:字符缓冲输出流
BufferedReader:字符缓冲输入流
2. BufferedWriter使用:
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。
(1)[b]BufferedWriter的构造方法:[/b]
(2)[b][b]BufferedWriter的[/b]功能方法:[/b]
(3)[b][b][b]BufferedWriter使用代码示例:[/b][/b][/b]
运行效果,如下:
3. BufferedReader 使用:
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
(1)[b]BufferedReader 的构造方法:[/b]
(2)[b][b]BufferedReader [/b][b]的[/b]功能方法:[/b]
(3)[b][b]BufferedReader 使用代码示例:[/b][/b]
运行效果,如下:
字符流为了高效读写,也提供了对应的字符缓冲流。
BufferedWriter:字符缓冲输出流
BufferedReader:字符缓冲输入流
2. BufferedWriter使用:
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。
(1)[b]BufferedWriter的构造方法:[/b]
构造方法摘要 |
---|
BufferedWriter(Writer out) 创建一个使用默认大小输出缓冲区的缓冲字符输出流。 |
BufferedWriter(Writer out, int sz) 创建一个使用给定大小输出缓冲区的新缓冲字符输出流。 |
方法摘要 void close() 关闭此流,但要先刷新它。 void flush() 刷新该流的缓冲。 void newLine() 写入一个行分隔符。 void write(char[] cbuf, int off, int len) 写入字符数组的某一部分。 void write(int c) 写入单个字符。 void write(String s, int off, int len) 写入字符串的某一部分。
(3)[b][b][b]BufferedWriter使用代码示例:[/b][/b][/b]
package cn.itcast_05; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; /* * BufferedWriter:字符缓冲输出流 * 将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。 * 可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。 */ public class BufferedWriterDemo { public static void main(String[] args) throws IOException { // BufferedWriter(Writer out) // BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( // new FileOutputStream("bw.txt"))); BufferedWriter bw = new BufferedWriter(new FileWriter("bw.txt")); bw.write("hello"); bw.write("world"); bw.write("java"); bw.flush(); bw.close(); } }
运行效果,如下:
3. BufferedReader 使用:
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
(1)[b]BufferedReader 的构造方法:[/b]
构造方法摘要 |
---|
BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的缓冲字符输入流。 |
BufferedReader(Reader in, int sz) 创建一个使用指定大小输入缓冲区的缓冲字符输入流。 |
方法摘要 void close() 关闭该流并释放与之关联的所有资源。 void mark(int readAheadLimit) 标记流中的当前位置。 boolean markSupported() 判断此流是否支持 mark() 操作(它一定支持)。 int read() 读取单个字符。 int read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。 String readLine() 读取一个文本行。 boolean ready() 判断此流是否已准备好被读取。 void reset() 将流重置到最新的标记。 long skip(long n) 跳过字符。
(3)[b][b]BufferedReader 使用代码示例:[/b][/b]
package cn.itcast_05; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; /* * BufferedReader * 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 * 可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。 * * BufferedReader(Reader in) */ public class BufferedReaderDemo { public static void main(String[] args) throws IOException { // 创建字符缓冲输入流对象 BufferedReader br = new BufferedReader(new FileReader("bw.txt")); // 方式1:一次读一个字符 // int ch = 0; // while ((ch = br.read()) != -1) { // System.out.print((char) ch); // } // 方式2:一次读一个字符数组 char[] chs = new char[1024]; int len = 0; while ((len = br.read(chs)) != -1) { System.out.print(new String(chs, 0, len)); } // 释放资源 br.close(); } }
运行效果,如下:
相关文章推荐
- Hadoop总结三:HDFS--Federation
- html之超链接
- 霸气侧漏HTML5--之--canvas(1) api + 弹球例子
- html/css获得第一章
- hello nodejs
- 详解Javascript 中的this指针
- hadoop namenode -format Couldn'tload main class "-Djava.library.path=.home.hadoop.hadoop-2.5.2.lib"
- JavaScript 动态插入 CSS
- 呼吸轮播
- JS函数式编程【译】4.4 函数式响应式编程
- LeetCode Algorithms #237 <Delete Node in a Linked List>
- Ember.js 入门指南——包裹内容
- jQuery 源码 : queue 主要针对animate这个操作
- [ReactNative入门到精通]React Native概述
- jquery特效(3)—轮播图①(手动点击轮播)
- JS 快速排序
- Javascript的继承
- JS 对象引用和深拷贝
- Javascript函数式编程简单介绍
- Javascript函数式编程语言