JAVA 缓冲流BufferedReader的应用
1、基本思路:
利用缓冲流BufferedReader可以实现一行一行的写入操作,提高读取效率
利用缓冲流BufferedWriter可以实现复制功能
2、注意事项:
缓冲流是一种处理流或者包装流所以要用转换流InputStreamReader转换成字节符流,
装换流又要用字节流FileInputStream装换成字节流,最终存储在内存中
bw.newLine();//写入一个行分隔符
bw.write(str);//使用缓冲符Writer,必须要刷新缓冲区
bw.flush();//冲刷缓冲区,实现真正意义上的写入操作
3、代码实现:
package 缓冲流;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class B_ReaderWriterStream {
public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader br=null;
BufferedWriter bw=null;
try {
/*缓冲流是一种处理流或者包装流所以要用转换流InputStreamReader转换成字节符流,
装换流又要用字节流FileInputStream装换成字节流,最终存储在内存中*/
br=new BufferedReader(new InputStreamReader(new FileInputStream("D:\\蓝桥.txt"),"UTF-8"));
bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\蓝桥4.txt"),"UTF-8"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//写入的时候还是要一行一行的写,每一行需要一个字符串去接收
while(true) {
try {
String str=br.readLine();
if(str==null) {
break;
}
System.out.println(str);
bw.newLine();//写入一个行分隔符
bw.write(str);//使用缓冲符Writer,必须要刷新缓冲区
bw.flush();//冲刷缓冲区,实现真正意义上的写入操作
} catch (IOException e) {
e.printStackTrace();
}
}{
if(br!=null) {
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(bw!=null) {
try {
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}