1. 程式人生 > >流操作

流操作

code int pen span ava 寫入 數組 例如 輸入流

  我們經常需要從文件中讀取數據,或者儲存數據進文件。在java中,將一個對象(可以讀入一個字節序列)稱作為輸入流,將一個對象(可以向其中寫入一個字節序列)稱作為輸出流。在java中,流操作的基礎是抽象類InputStream和OutputStream.

  InputStream類中有一個抽象方法:

abstract int read();

  這個抽象方法的目的是從輸入流中讀取數據的下一個字節。在繼承這個類時,必須實現這個方法。

  OutputStream類:

abstract void write(int b);

  將指定的字節寫入到輸出流。

  例如,FileInputStream繼承InputStream,從文件中的讀取字節。但是它只能讀取字節和字節數組。如果需要做其它相關的操作,例如從文件中讀取java數據類型,例如DataInputStream,這個類的方法可以從流中讀取幾個字節,解釋為你所需要類型的數據。但是它不能從文件中直接讀取數據,它需要在讀取數據的類的基礎之上進行。

  java設計了這樣的一種機制:首先需要諸如FileInputStream或者URL類中的openStream方法返回的輸入流等等,這種可以在文件中獲取字節的輸入流,然後在此基礎上,構建諸如DataInputStream和PrintWriter等類型將字節組裝成為更有用的數據類型,它們在原聲字節流之上添加了額外的功能。此外,如果想要添加緩存功能,還可以再加上BufferedInputStream。例如:

FileInputStream fin = new FileInputStream("xx.txt");
DataInputStream din = new DataInputStream(fin);
BufferedInputStream bin = new BufferedInputStream(din);

  

流操作