1. 程式人生 > >IO 流基礎

IO 流基礎

輸入流和輸出流相對於記憶體而言

下載檔案時----》【硬碟1------》記憶體1----》記憶體2-----》硬碟2

一個字元兩個位元組

位元組流:視訊、聲音、圖片等二進位制格式檔案(比如word檔案,有格式要求)

字元流:純文字檔案

各有各的優勢:位元組流是萬能的,字元流讀的比較快

Java語言中所有的位元組流Stream結尾,字元流Writer(輸出)或者Reader(輸入)結尾

例子:位元組流 檔案的Copy


class  Copy1{
	public static void main(String[] args) throws Exception {
		
		//建立輸入流 
		FileInputStream io1=new FileInputStream("E:/first.txt");
		
		//建立檔案位元組輸出流   
		FileOutputStream io2=new FileOutputStream("E:/copyDanglog.txt"); 
		
		//一邊讀 ,一邊寫
		int temp=0;
		byte[] bt=new byte[1024]; //1kb
		while((temp=io1.read(bt))!=-1){
			io2.write(bt,0,temp);
		}
		
		//為保證資料完全寫入硬碟,應該重新整理一下
		io2.flush();
		//關閉流
		io1.close();
		io2.close();
	}
}

輸入流的 read()方法

輸出流的 write()方法

例子:字元流 檔案的Copy



class Copy2{
	public static void main(String[] args) throws Exception {
		
		FileReader f=new FileReader("E:/Test4.java");
		FileWriter fw=new FileWriter("E:/China");

		//一次讀1kb
		char[] ch=new char[514];
		//邊讀邊寫
		int temp=0;
		while((temp=f.read(ch))!=-1){
			//寫
			fw.write(ch,0,temp);
		}
		//重新整理
		fw.flush();
		//關閉
		f.close();
		fw.close();
	}
}