JavaIO系統

爲了方便記憶,特將IO中涉及的類進行整理以下:java

一、File類dom

  提供了目錄操做,查看文件屬性等。函數

二、java IO類層次spa

面向字節流的類爲InputStream、OutputStream;面向字符流的類爲Reader、Writerip

能夠使用 InputStreamReader 將 InputStream-->Readerit

能夠使用OutputStreamWriter 將 OutputStream-->Writerio

InputStream    --->Readerfunction

|---ByteArrayInputStream  --->CharArrayReaderclass

|---StringBufferInputStream(discard)  --->StringReaderfile

|---FileInputStream  --->FileReader

|---PipedInputStream  --->PipedReader

|---FilterInputStream

     |---DataInputStream  

     |---BufferedInputStream  --->BufferedReader(has readLine function)

 

OutputStream  --->Writer

|---ByteArrayOutputStream  --->CharArrayWriter

|---FileOutputStream  --->FileWriter

|---PipedOutputStream  --->PipedWriter

|---FilterOutputStream

     |---DataOutputStream

     |---PrintStream  --->PrintWriter

     |---BufferedOutputStream  --->BufferedWriter

 

二、一些經常使用的組合

  BufferedReader s = new BufferedReader(new FileReader(fileName));   //字符緩衝方式讀取

  DataInputStream di = new DataInputStream(new BufferedInputStream(new FileInputStream(filename)));   //從文件緩衝讀取數據類型

  DataOutputStream outputStream = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(filename)));   //將數據類型寫入到文件之中,而後能夠經過DataInputStream來讀取

  PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(filename)));   //將文件經過PrintWriter方式格式化寫入

    out.println 函數就能夠格式化寫文件內容了。

三、RandomAccessFile類

  支持搜尋方法的文件讀寫類,提供給了seek函數

四、標準IO

System.err, System.out 都已經被包裝成了 PrintStream 所以能夠直接使用。

System.in 仍是屬於 InputStream 類型,所以在使用前須要包裝下。

  1)按行讀取:BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  ///使用了InputStreamReader將System.in表示的InputStream類型轉換成Reader類型。

  2)將System.out轉換成PrintWriter:PrintWriter pw = new PrintWriter(System.out,true);

五、重定向IO

  setIn(InputStream)

  setOut(PrintStream)

  setErr(PrintStream) 

相關文章
相關標籤/搜索