黑馬程式設計師_java複雜的流
java有一系列流型別,其數量超過60種,非常複雜
一、IO流的三種分類方式
1.按流的方向分為:輸入流和輸出流
2.按流的資料單位不同分為:位元組流和字元流
3.按流的功能不同分為:節點流和處理流
二、IO流的四大抽象類:
字元流:Reader Writer
位元組流:InputStream(讀資料)
OutputStream(寫資料)
三、InputStream的基本方法
int read() throws IOException 讀取一個位元組以整數形式返回,如果返回-1已到輸入流的末尾
void close() throws IOException 關閉流釋放記憶體資源
long skip(long n) throws IOException 跳過n個位元組不讀
四、OutputStream的基本方法
void write(int b) throws IOException 向輸出流寫入一個位元組資料
void flush() throws IOException 將輸出流中緩衝的資料全部寫出到目的地
五、Writer的基本方法
void write(int c) throws IOException 向輸出流寫入一個字元資料
void write(String str) throws IOException將一個字串中的字元寫入到輸出流
void write(String str,int offset,int length)
將一個字串從offset開始的length個字元寫入到輸出流
void flush() throws IOException
將輸出流中緩衝的資料全部寫出到目的地
六、Reader的基本方法
int read() throws IOException 讀取一個字元以整數形式返回,如果返回-1已到輸入流的末尾
七、節點流型別
八、訪問檔案之FileInputStream和FileOutputStream繼承基類用於向檔案中輸入輸出位元組
九、訪問檔案之FileReader和FileWriter繼承基類用於向檔案中輸入輸出字元
----輸出流在建構函式第二個引數可以設定true意義為跟在已有檔案後進行輸入
----此類流會丟擲FileNotFoundException需要對其進行顯示捕捉
十、緩衝流:緩衝流要套接在相應的節點流之上,提高了讀寫的效率。
此處理流的構造方法都得傳相對應的基類型別
BufferedReader:提供了readLine方法用於高校讀取一行字串
BufferedWriter:提供了newLine用於寫入一個行分隔符也就是換行
BufferedInputStream 沒多大用處
BufferedOutputStream 沒多大用處
十一、轉換流:主要作用將位元組流轉換成字元流。用處較大!
轉換流在構造時可以指定其編碼集合
InputStreamReader需要和InputStream套接
OutputStreamWriter需要和OutputStream套接
例:OutputStreamWriter osw = new OutputStreamWriter (new FileOutputStream(檔案路徑);
方法例:osw.getEncoding(); 獲得流的編碼方式
---------------------- android培訓、java培訓、期待與您交流! ----------------------詳細請檢視:http://edu.csdn.net/heima