【JavaSE学习笔记】IO流05_字符缓冲输出流BufferedWriter、字符缓冲输入流BufferedReader
2017-08-13 18:59
621 查看
IO流05
A.字符缓冲输出流
1)概述
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
2)构造方法
public BufferedWriter(Writer out):创建字符缓冲输出流的对象
默认的缓冲区就足够大了,所以不用指定缓冲区大小!
import java.io.BufferedWriter;
import java.io.FileWriter;
public class Demo01 {
public static void main(String[] args) throws Exception {
// 创建字符缓冲输出流对象
BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt"));
// 写数据
bw.write("hello");
bw.write("world");
bw.write("java");
// 关闭资源
bw.close();
}
}
3)特殊功能
public void newLine() throw IOException:写入一个行的分隔符号(换行)
import java.io.BufferedWriter;
import java.io.FileWriter;
public class Demo02 {
public static void main(String[] args) throws Exception {
// 创建字符缓冲输出流对象
BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt"));
// 写数据
for (int i = 0; i < 10; i++) {
bw.write("hello" + i);
// 换行
bw.newLine();
bw.flush();
}
bw.close();
}
}
B.字符缓冲输入流
1)构造方法
public BufferedReader(Reader in):创建一个使用默认大小输入缓冲区的缓冲字符输入流
import java.io.BufferedReader;
import java.io.FileReader;
public class Demo03 {
public static void main(String[] args) throws Exception {
// 创建字符缓冲输入流对象
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
// 一个字符一个字符读取
// int ch = 0 ;
// while((ch=br.read())!=-1){
// System.out.print((char)ch);
// }
// 一次读取一个字符数组
char[] chs = new char[1024];
int len = 0;
while ((len = br.read(chs)) != -1) {
System.out.println(new String(chs, 0, len));
}
br.close();
}
}
2)特殊功能
public String readLine() throws IOException():一次读取一行
包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null
import java.io.BufferedReader;
import java.io.FileReader;
public class Demo04 {
public static void main(String[] args) throws Exception {
// 创建字符缓冲输入流对象
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
}
}
C.应用
1)将当前项目下的a.txt------>b.txt文件中(按字符数组操作)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Demo05 {
public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
//封装对象
try {
br = new BufferedReader(new FileReader("a.txt"));
bw = new BufferedWriter(new FileWriter("b.txt"));
char[] chs = new char[1024];
int len = 0;
while ((len = br.read(chs)) != -1) {
bw.write(chs, 0, len);
bw.flush();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bw.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
2)将当前项目下的a.txt------>b.txt文件中(按行操作)
import j
4000
ava.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Demo06 {
public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
//封装对象
try {
br = new BufferedReader(new FileReader("a.txt"));
bw = new BufferedWriter(new FileWriter("b.txt"));
String line = null;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
bw.flush();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bw.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
A.字符缓冲输出流
1)概述
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
2)构造方法
public BufferedWriter(Writer out):创建字符缓冲输出流的对象
默认的缓冲区就足够大了,所以不用指定缓冲区大小!
import java.io.BufferedWriter;
import java.io.FileWriter;
public class Demo01 {
public static void main(String[] args) throws Exception {
// 创建字符缓冲输出流对象
BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt"));
// 写数据
bw.write("hello");
bw.write("world");
bw.write("java");
// 关闭资源
bw.close();
}
}
3)特殊功能
public void newLine() throw IOException:写入一个行的分隔符号(换行)
import java.io.BufferedWriter;
import java.io.FileWriter;
public class Demo02 {
public static void main(String[] args) throws Exception {
// 创建字符缓冲输出流对象
BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt"));
// 写数据
for (int i = 0; i < 10; i++) {
bw.write("hello" + i);
// 换行
bw.newLine();
bw.flush();
}
bw.close();
}
}
B.字符缓冲输入流
1)构造方法
public BufferedReader(Reader in):创建一个使用默认大小输入缓冲区的缓冲字符输入流
import java.io.BufferedReader;
import java.io.FileReader;
public class Demo03 {
public static void main(String[] args) throws Exception {
// 创建字符缓冲输入流对象
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
// 一个字符一个字符读取
// int ch = 0 ;
// while((ch=br.read())!=-1){
// System.out.print((char)ch);
// }
// 一次读取一个字符数组
char[] chs = new char[1024];
int len = 0;
while ((len = br.read(chs)) != -1) {
System.out.println(new String(chs, 0, len));
}
br.close();
}
}
2)特殊功能
public String readLine() throws IOException():一次读取一行
包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null
import java.io.BufferedReader;
import java.io.FileReader;
public class Demo04 {
public static void main(String[] args) throws Exception {
// 创建字符缓冲输入流对象
BufferedReader br = new BufferedReader(new FileReader("a.txt"));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
}
}
C.应用
1)将当前项目下的a.txt------>b.txt文件中(按字符数组操作)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Demo05 {
public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
//封装对象
try {
br = new BufferedReader(new FileReader("a.txt"));
bw = new BufferedWriter(new FileWriter("b.txt"));
char[] chs = new char[1024];
int len = 0;
while ((len = br.read(chs)) != -1) {
bw.write(chs, 0, len);
bw.flush();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bw.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
2)将当前项目下的a.txt------>b.txt文件中(按行操作)
import j
4000
ava.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Demo06 {
public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
//封装对象
try {
br = new BufferedReader(new FileReader("a.txt"));
bw = new BufferedWriter(new FileWriter("b.txt"));
String line = null;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
bw.flush();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bw.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
相关文章推荐
- BufferedWriter 和 BufferedReader 为带有默认缓冲的字符输出输入流,因为有缓冲区所以很效率比没有缓冲区的很高。
- 学习笔记 - BufferedReader字符缓冲流从文件读入字符串
- Java基础知识强化之IO流笔记38:字符流缓冲流之BufferedWriter / BufferedReader使用
- Java学习笔记之IO(九):BufferedReader缓冲输入字符流
- 字符流学习笔记及总结(FileWriter、FileReader、BufferedWriter、BufferedReader)
- Java学习笔记之IO(十):BufferedWriter缓冲输出字符流
- [Java] BufferedReader/BufferedWriter 缓冲读取和写入字符
- 黑马程序员_<<字符流的缓冲技术和装饰类(BufferedWriter,BufferedReader,LineNumberReader)>>
- IO流学习笔记(二)之BufferedWriter与BufferedReader及实例Demo
- Java的IO操作(五) - PrintStream类、字符流、Reader和Writer、带缓冲的字符流BufferedReader和BufferedWriter .
- 缓冲字符流的使用BufferedReader和BufferedWriter
- Java-IO之BufferedReader(字符缓冲输入流)
- Java-IO之BufferedReader(字符缓冲输入流)
- Java-IO之BufferedReader(字符缓冲输入流)
- java Io 缓冲流 BufferedReader BufferedWriter 笔记
- java io系列23之 BufferedReader(字符缓冲输入流)
- java io系列23之 BufferedReader(字符缓冲输入流)
- IO流_字符缓冲输入流BufferedReader的使用
- java学习笔记之BufferedReader与BufferedWriter
- BufferedReader缓冲字符输入流