Java I/O流

1、Java 語言中I/O流分類:

     分爲輸入流(Input Stream) 和輸出流(Output Stream)

     分爲節點流(Node Stream) 和處理流(Processing Stream)

     分爲字符流(Character Stream) 和字節流(Byte Stream)

 

     人站在程序的角度來看,如果數據從外界傳入程序中,則爲輸入流,例如從鍵盤輸入數據到程序中;如果數據從程序中傳到外界,則爲輸出流,例如程序中的數據輸出到顯示器中,或者輸出到文件中。

   

     Java語言中流是單向的,輸入流只能讀數據,輸出流只能寫數據。例外特例是:java.io.RandomAccessFile類,既可以從文件中讀數據,也可以向文件中寫數據。

 

     從數據流所關聯的是數據源還是其他數據流,可以分爲節點流和處理流,節點流直接關聯到數據源,處理流封裝已經存在的流。

 

     從傳輸數據的“顆粒大小”劃分,字節流以字節爲單位進行數據傳輸,字符流以字符爲單位進行數據傳輸,在Java語言中,以InputStream或OutputStream結尾的類型爲字節流,以Reader或Writer結尾的爲字符流。

 

    

 

2、InputStream 字節輸入流的父類 

     三個基本的read()方法

     int read()

     int read(byte[] buffer)

     int read(byte[] buffer,int offset,int length)

 

     其它方法

     void close()

     int available();

     skip(long n);

     boolean markSupportet()    //測試inputstream 的各種子類是否具備做標記的功能

     void mark(int readlimit);      //對輸入流做標記

     void reset();        //跳轉到標記處



3、OutputStream  字節輸出流的父類

 

     三個基本的write()方法:

     void write(int c);

     void write(byte[] buffer);

     void write(byte[] buffer,int offset,int length);

 

     其它方法:

     void close();

     void flush();      //清空緩衝區




4、Reader  字符輸入流的父類

     三個基本的read()方法

     int read()

     int read(byte[] cbuf)

     int read(byte[] cbuf,int offset,int length)

 

     其它方法

     void close()

     boolean ready();          //判斷輸入流是否準備就緒

     skip(long n);

     boolean markSupportet()    //測試inputstream 的各種子類是否具備做標記的功能

     void mark(int readlimit);      //對輸入流做標記

     void reset();        //跳轉到標記處




5、Writer  字符輸出流的父類

 

     五個基本的write()方法:

     void write(int c);

     void write(char[] cbuf);

     void write(char[] cbuf,int offset,int length);

     void write(String string);

     void write(String string,int offset,int length);

 

     其它方法:

     void close();

     void flush();      //清空緩衝區




6、常用I/O流類型

      FileInputStream 和FileOutputStream

      FileInputStream用於讀取本地文件中字節數據,FileOutputStream用於將字節數據寫出到文件中



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章