Java I/O 學習總結(一)

先來看一張有關Java I/O 的圖片(不要慌)

 

這張圖片想必大家也都見過很多次,很詳細的將Java I/O 相關的內容羅列了出來,暫且不要被嚇到,我們邊學邊總結,最後回過頭再來看這張圖片,會有不一樣的感受。

Java的核心庫java.io提供了全面的IO接口。包括:文件讀寫、標準設備輸出等。Java中IO是以流爲基礎進行輸入輸出的,所有數據被串行化寫入輸出流,或者從輸入流讀入。

  流是一個很形象的概念,當程序需要讀取數據的時候,就會開啓一個通向數據源的流,這個數據源可以是文件,內存,或是網絡連接。類似的,當程序需要寫入數據的時候,就會開啓一個通向目的地的流。這時候你就可以想象數據好像在這其中“流”動一樣。

上述流的概念摘自百度百科(http://baike.baidu.com/item/java.io),博主感覺這個概念解釋的已經蠻清楚的了,再通俗的講,流就是一個“管道”,當你的程序讀取或者是存儲數據的時候,數據在這個管道里流動。

Java流的分類

按流向分(內存和硬盤間的方向):

  輸入流:程序可以從中讀取數據的流

  輸出流:程序能向其中寫入數據的流

按數據傳輸單位分:

  字節流:以字節爲單位傳輸數據的流

  字符流:以字符爲單位傳輸數據的流

按功能分:

  節點流:用於直接操作目標設備的流
  過濾流:是對一個已存在的流的鏈接和封裝,通過對數據進行處理爲程序提供功能強大、靈活的讀寫功能。
 

Java I/O 常用類

  JDK所提供的所有流類位於java.io包中,都分別繼承自以下四種抽象流類。

  InputStream:繼承自InputStream的流都是用於向程序中輸入數據的,且數據單位都是字節(8位)。
  OutputStream:繼承自OutputStream的流都是程序用於向外輸出數據的,且數據單位都是字節(8位)。
  Reader:繼承自Reader的流都是用於向程序中輸入數據的,且數據單位都是字符(16位)。
  Writer:繼承自Writer的流都是程序用於向外輸出數據的,且數據單位都是字符(16位)。
 

File類

  File類提供了許多構造方法,可以根據文件路徑字符串獲取其File實例,然後對該文件下進行文件和目錄進行刪除和創建,以及查找和類型的判斷。

  File對象代表磁盤中實際存在的文件和目錄。可以通過如下構造方法創建File對象:

  

//通過將給定路徑名字符串轉換成抽象路徑名來創建一個新 File 實例
public File(String pathname)

//根據 parent 路徑名字符串和 child 路徑名字符串創建一個新 File 實例
public File(String parent, String child)

//通過給定的父抽象路徑名和子路徑名字符串創建一個新的File實例
public File(File parent, String child)

//通過將給定的 file: URI 轉換成一個抽象路徑名來創建一個新的 File 實例
public File(URI uri)

 常用的創建File對象方法:

//File.separator是路徑分隔符,UNIX下相當於'/',WINDOWS下相當於'\\'
File file = new File("f:" + File.separator + "hexo" + File.separator + "themes");
//也可以直接使用'/'分隔路徑
File file1 = new File("f:/hexo","themes");
File file2 = new File("f:/hexo");
File file3 = new File(file2,"themes");
//file1和file3是同一個文件的File對象

File類提供了很多操作文件和目錄的方法,這裏就不一一列舉,可自行查閱JDK源碼,後面的文章裏某些方法第一次出現時,博主會詳細註釋的~

本文主要是Java I/O 學習的前奏,一些基本的概念,現在看來可能有點抽象,不好理解,慢慢往後看後續文章你就會理解的!

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