------- android教育訓練、java教育訓練、期待與您交流! ----------
一 IO流的三種分類方式
1.按流的方向可分為:輸入流和輸出流
2.按流的資料機關不同分為:位元組流和字元流
3.按流的功能不同分為:節點流和處理流
二 IO流的四大抽象類:
字元流: Reader Writer
位元組流: InputStream outputStream
三 InputStream的基本方法
int read() throws IOException 讀取一個位元組以整數形式傳回,如果傳回-1則已到輸入流的末尾,
void close() 關閉流釋放記憶體資源.
long skip (long n) 跳過n個位元組不讀.
四 OutputStream 的基本方法
void write(int b) 向輸出流寫入一個位元組資料
void flush( ) 将輸出流中緩沖的資料全部寫出到目的地
五 Writer的基本方法
void write(int c) 想輸出流吸入一個字元資料
void write(String str) 将一個字元串中的字元寫入到輸入流
void write(String str,int offset,int length) 将一個字元串從offset開始的length個字元寫入到輸出流
void flush ( ) 将輸出流中緩沖的資料全部寫出到目的地
六 Reader 的基本方法
int read( ) 讀取一個字元以整數形式傳回如果傳回-1則代表已到輸入流的末尾
七 通路檔案
FileInputStream和FileOutputStream繼承基類用于向檔案中輸入輸出位元組
FileReader和FileWriter繼承基類用于向檔案中輸入輸出字元
八 緩沖流
BufferedReader:提供了readLine方法用于高效讀取一行字元串
BufferedWriter:提供了newLine用于寫入一個行分隔符 也就是換行
BufferedInputStream:是一個帶有緩沖區域的InputStream
BufferedOutputStream:是一個帶有緩沖區的OutputStream
九 轉換流:主要作用将位元組流轉換成字元流
轉換流在構造時可以指定其編碼集合
編碼
InputStreamReader需要和InputStream套接
OutputStreamWriter需要和OutputStream套接
例:OutputStreamWriter osw = new OutputStreamWriter (new FileOutputStream(檔案路徑))
方法例:osw.getEncoding();獲得流的編碼方式
例子:
import java.io.*;
class IoDemo
{
public static void main(String[] args) throws IOException
{
//擷取鍵盤錄入對象。
//将位元組流對象轉成字元流對象,使用轉換流。InputStreamReader
//為了提高效率,将字元串進行緩沖區技術高效操作。使用BufferedReader
//鍵盤的最常見寫法。
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
String line = null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
bufw.write(line.toUpperCase());
bufw.newLine();
bufw.flush();
}
bufr.close();
}