java--裝飾流-位元組緩衝流
阿新 • • 發佈:2018-11-09
一、位元組緩衝流
BufferedInputStream (位元組緩衝輸入流)
BufferedOutputStream(位元組緩衝輸出流)
- 1.提高了讀寫的形能
- 2.只套在節點流上即可
- 節點流:
- 1.檔案節點流
- 2.位元組陣列節點流
- 3.網路流
- 3.釋放時,只需釋放最外層的節點流,內層會自動尋找釋放;如果要手動釋放,要滿足從裡到外釋放的原則。
注意:就算是套多層效能也只能提升一次
二、字元緩衝流
BufferedReader:字元緩衝輸入流
BufferedWriter:字元緩衝輸出流
- 功能和位元組緩衝流效果差不多,也是提升讀寫的效能的
- 增加了一些讀寫的方法,因此不能時用多型
(1)BufferedReader:字元緩衝輸入流
//2.選擇流
BufferedReader is=null;
try {
is = new BufferedReader(new FileReader(src));
//3.操作,逐行讀取
String line = null;
while((line=is.readLine())!=null) {
System.out.println(line);
}
(2)BufferedWriter:字元緩衝輸出流
//2.選擇流
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter(src));
/*
* 3.操作(寫入)
*
*/
//新增功能newLine,就可以不用使用換行符了
String str = "io is so easy哈哈哈";
writer.append(str);//可以一直點下去
writer.newLine();
writer.append("我一定會成功!");
writer.flush() ;
(3)複製
//2.選擇流
try(BufferedReader is =new BufferedReader(new FileReader(srcIn));
BufferedWriter os=new BufferedWriter(new FileWriter(srcOut))) {
//3.操作(複製)讀取 之後再輸出
//讀取
String line=null;
while((line = is.readLine())!=null) {
os.write(line);//逐行寫出
os.newLine();
}
os.flush();