1。File類:代表與平臺無關的文件和目錄(文件夾)
???????????????????? File? 能夠新建,刪除,重命名文件和目錄,但File不能夠訪問文件內容的本身
??? File 的一些方法:
???? getName():得到文件名?? getAbsolutePath():返回絕對路徑
???? getPath() : 得到文件路徑?? getCanonicalPath():返回規格化以后的路徑(將./或者../完善好)
?? createNewFile():如果文件不存在,可以創建。isFile():判斷路徑下是否為文件
?? isDirectory():判斷路徑下是否為目錄
2。IO分類
?? 字節流:可以用來傳輸任何一種文本類型:mp3,電影,圖片,網頁,文本
? 字符流:主要解決文本文件,專門用來處理文本。
???? 大部分中文的文本,一個漢字可能占用的空間不止一個字節。
???? 假設一個漢字需要占用兩個字節的空間,如果要用字節流處理文本的話,就需
???? 要讀入兩個字節,然后再把這兩個字節拼成一個完整的漢字。更有可能在 輸錯誤的時候,產生只保存了“半個漢字”這種問題。為了解決這種問題,有了字符流。
3。字節流:
? InputStream:所有輸入字節流的父類。
?OutputStream:所有輸出字節流的父類。
? 以上兩個類都是抽象類,無法創建實例,所以用:
FileInputStream,FileOutputStream.兩個子類。
4。字符流。
?Reader:所有輸入字符流的父類。
Writer:所有輸出字符流的父類。
同樣的,以上兩個類是抽象類,所以用:
FileReader,FileWriter兩個子類。不過我們大多會運用他的兩個緩沖流:讀入BufferedReader
寫出BufferedWriter:
BufferedReader有一個readeLine()方法,是比較好用的,他會一行一行的讀取文本中數據。
貼上用法:
概念問答:
1,java 中有幾種類型的流?
?????? 字節輸入流:InputStream,字節輸出流:OutputStream
?????? 字符輸入流:Reader,字符輸出流:Writer
2,什么是 java 序列化,如何實現 java 序列化?
?????????? Java 對象的序列化指將一個 java 對象寫入 OI 流中,與此對應的是,對象的反序列化則從 IO 流中恢復該 java 對象。
??????? 如果要讓某個對象支持序列化機制,則必須讓它的類是可序列化的,為了讓某個類是可序列化的,該類必須實現 Serializable 接口
3,什么是過濾流?簡述實現步驟。
?????????? 過濾流:使用節點流作為輸入或輸出。過濾流是使用一個已經存在的輸入流或輸出流連接創建的。
?過濾流的使用分為下面四個步驟:
1、 創建節點流。這個步驟是使用過濾流的先決條件,由于過濾流無法直接實現數據傳輸功能,因
此必須先有一個節點流,才能夠進行數據傳輸。
2、 封裝過濾流。所謂的“封裝”,指的是創建過濾流的時候,必須以其他的流作為構造方法的參
數。需要注意的是,可以為一個節點流封裝多個過濾流。
3、 讀/寫數據。
4、 關閉外層流。這指的是,關閉流的時候,只需要關閉最外層的過濾流即可,內層流會隨著外層
流的關閉而一起被關閉