-------------------------------------java中BufferedWriter和 BufferedReader高效缓冲区流 ----------------------------
高效缓存区输入输出流
BufferedReader用于输入
从字符输入流中读取文本,缓冲各个字符,从而实现字符,数组和行的高效读取。
BufferedWriter用于输出
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
------------------------------------------------------------------------
BufferedWriter
构造方法摘要 |
|
BufferedWriter |
|
BufferedWriter |
方法摘要 |
|
|
close |
|
flush |
|
newLine |
|
write |
|
write |
|
write |
范例:使用高效缓冲区流来向文件中写入一句话
public class BufferedWriterDemo {
public static void main(String[] args) {
writer();
}
/**
* 使用高效缓冲流来向d.txt的文件中导入“java太好学了,真简单!”
*/
public static void writer() {
//创建文件输出流
FileWriter fw = null;
BufferedWriter bw = null;
try {
fw = new FileWriter("d.txt");
//创建高效缓冲区流的对象
bw = new BufferedWriter(fw);
//输出数据
bw.write("java太好学了,真简单!");
//清空缓冲区
bw.flush();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(bw != null) {
try {
//关闭高效缓冲区的流就会自动关闭FileWriter
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
-----------------------------------------------------------------------------
BufferedReader
构造方法摘要 |
|
BufferedReader |
|
BufferedReader |
方法摘要 |
|
|
close |
|
mark |
|
markSupported |
|
read |
|
read |
|
readLine |
|
ready |
|
reset |
|
skip |
范例:使用高效缓冲区流读取文件中的内容。
public class BufferedReaderDemo {
public static void main(String[] args) {
reader();
System.out.println();
reader1();
//输出
//java太好学了,真简单!
//java太好学了,真简单!
}
/**
* 使用高效缓冲区流读取文件中的内容。
*/
public static void reader() {
//创建文件输出流
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader("d.txt");
//创建高效缓冲区流的对象
br = new BufferedReader(fr);
//循环打印输入的字符
int num = -1;
while((num = br.read()) != -1 ) {
System.out.print((char)num);
}
} catch (IOException e) {
e.printStackTrace();
}finally {
if(br != null) {
try {
//关闭高效缓冲区的流就会自动关闭FileWriter
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 使用高效缓冲区流字符数组方式读取文件中的内容。
*/
public static void reader1() {
//创建文件输出流
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader("d.txt");
//创建高效缓冲区流的对象
br = new BufferedReader(fr);
//循环打印输入的字符
int len = -1;
char[] chs = new char[1024];
while((len = br.read(chs)) != -1 ) {
System.out.print(new String(chs,0,len));
}
} catch (IOException e) {
e.printStackTrace();
}finally {
if(br != null) {
try {
//关闭高效缓冲区的流就会自动关闭FileWriter
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}