JAVA IO初識
看了別個的帖子,自己精簡的記一下。以備檢視
原帖
http://blog.csdn.net/zxman660/article/details/7875799
首先,在JAVA API中,可以從其中讀入一個字元序列的物件稱作輸入流,而可以從中寫入一個字元序列的物件稱作輸出流。
操作流程
在Java中IO操作也是有相應步驟的,以檔案操作為例,主要的操作流程如下:
1 使用File類開啟一個檔案
2 通過位元組流或字元流的子類,指定輸出的位置
3 進行讀/寫操作
4 關閉輸入/輸出
IO操作屬於資源操作,一定要記得關閉
File f = new File("d:" + File.separator+"test.txt"); //1 使用File類開啟一個檔案 OutputStream out=new FileOutputStream(f);//如果檔案不存在會自動建立 // 2 通過位元組流或字元流的子類,指定輸出的位置 String str="Hello World"; byte[] b=str.getBytes(); out.write(b);//因為是位元組流,所以要轉化成位元組陣列進行輸出 // 3 進行讀/寫操作 out.close(); // 4 關閉輸入/輸出
File f = new File("d:" + File.separator+"test.txt"); //1 使用File類開啟一個檔案 Writer out=new FileWriter(f); //2 通過位元組流或字元流的子類,指定輸出的位置 String str="Hello World"; out.write(str); //3 進行讀/寫操作 out.close(); // 4 關閉輸入/輸出
在Java.io包中操作檔案內容的主要有兩大類:位元組流、字元流,兩類都分為輸入和輸出操作。在位元組流中輸出資料主要是使用OutputStream完成,輸入使的是InputStream,在字元流中輸出主要是使用Writer類完成,輸入流主要使用Reader類完成。(這四個都是抽象類)
java中提供了專用於輸入輸出功能的包Java.io,其中包括:
InputStream,OutputStream,Reader,Writer
InputStream 和OutputStream,兩個是為位元組流設計的,主要用來處理位元組或二進位制物件,
Reader和 Writer.兩個是為字元流(一個字元佔兩個位元組)設計的,主要用來處理字元或字串.
字元流處理的單元為2個位元組的Unicode字元,分別操作字元、字元陣列或字串,而位元組流處理單元為1個位元組,操作位元組和位元組陣列。所以字元流是由Java虛擬機器將位元組轉化為2個位元組的Unicode字元為單位的字元而成的,所以它對多國語言支援性比較好!如果是音訊檔案、圖片、歌曲,就用位元組流好點,如果是關係到中文(文字)的,用字元流好點