IO 流基礎
阿新 • • 發佈:2018-12-09
輸入流和輸出流相對於記憶體而言
下載檔案時----》【硬碟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(); } }