1. 程式人生 > >java--裝飾流-位元組緩衝流

java--裝飾流-位元組緩衝流

一、位元組緩衝流

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();