Java基本概念-檔案系統與流操作
阿新 • • 發佈:2019-02-13
一 file類的介紹
1 檔案系統主要由磁碟分割槽、目錄檔案和檔案組成
2 檔案:流的容器,用file表示
3 流:檔案的內容,用stream表示
考慮跨平臺,用file表示磁碟、目錄、檔案
4 file類的主要常用方法:
(1)listRoots():獲取系統所有的磁碟
(2)list():獲取目錄中所有的檔案,得到檔名
(3)listFiles():獲取檔案物件
(4)isDirectory():判斷物件是否為目錄
(5)isFile():判斷物件是否為檔案
(6)getAbsolutePath():獲取絕對路徑
(7)getFreeSpace():獲取剩餘空間,單位:B
(8)getTotalSpace():獲取總空間,單位:B
(9)getUsableSpace():獲取已用空間,單位:B
(10)getName():獲取檔案或目錄的名稱
二 IO流結構
1 IO:提供與流和檔案相關的類
2 輸入輸出流是針對Java程式而言的
(1)輸入流:Java程式得到資料
(2)輸出流:Java程式為其他地方提供資料
3 IO流分為位元組流和字元流
(1)位元組流包括位元組輸入流(InputStream)和位元組輸出流(OutputStream)
(2)字元流包括字元輸入流(Reader)和字元輸出流(Writer)
4 位元組流可用於讀寫二進位制檔案,字元流用於讀寫文字檔案,字元流直接可讀取寫入漢字
5 二進位制檔案:指檔案無字元編碼格式,由位元組組成,使用Stream流進行操作
6 文字檔案:能用記事本正常開啟的檔案
三 使用位元組流讀寫檔案
1 位元組流讀取檔案的步驟:
(1)開啟檔案
(2)操作(按位元組讀寫檔案)
(3)關閉檔案
2 ASCII碼:用數字表示字元的編碼
3 緩衝區:
(1)用來提高讀寫效率
(2)緩衝區是記憶體的一塊區域
(3)預設大小為4K
(4)讀寫檔案時,先把資料讀寫到緩衝區中,緩衝區滿4k時,自動將資料傳送到目的地
(5)緩衝區未寫滿時,不會自動傳送資料,應該呼叫flush()方法清洗緩衝區
(6)所有流相關的類都有與之對應的緩衝流,緩衝流的使用可以提高讀寫檔案的效能
4 常用方法:
(1)read():按位元組讀取檔案內容,按順序讀取檔案中的位元組,返回值為int型別
(2)close():關閉流,容器不需要關閉,先關緩衝區,後關流,
(3)flush():清洗緩衝區
(4)readLine():按行讀取文字檔案,一次讀取一行
(5)newLine():換行
5 呼叫close()方法會自動執行flush()方法
6 檔案複製:從原始檔中讀取資料,往目標檔案中寫入資料
7 將字串寫入到位元組流中需將字串轉換成位元組陣列,然後將位元組陣列寫到目的地
四 使用物件流讀寫檔案
1 實現Serializable介面的類可以被序列化,該介面是空介面
2 序列化:
(1)儲存物件的狀態,即物件屬性的值
(2)傳遞物件
(3)將物件變成字串
3 主要方法:
(1)writeObject():將實現了序列化介面的類寫入到流中
(2)readObject():從流中將實現了序列化介面的類讀取出來
4 可以用位元組流直接讀取漢字通過InputStreamReader和OutputStreamWriter
五 Properties類
1 適合讀取鍵值對形式的配置檔案,Map集合的實現類
2 主要方法:
(1)load():從檔案中讀取集合的內容
(2)store():往檔案中寫入集合的內容
六 其他
1 mysql資料庫從最後一次被訪問開始計時,8小時內若無訪問,mysql將禁止使用者連線
1 檔案系統主要由磁碟分割槽、目錄檔案和檔案組成
2 檔案:流的容器,用file表示
3 流:檔案的內容,用stream表示
考慮跨平臺,用file表示磁碟、目錄、檔案
4 file類的主要常用方法:
(1)listRoots():獲取系統所有的磁碟
(2)list():獲取目錄中所有的檔案,得到檔名
(3)listFiles():獲取檔案物件
(4)isDirectory():判斷物件是否為目錄
(5)isFile():判斷物件是否為檔案
(6)getAbsolutePath():獲取絕對路徑
(7)getFreeSpace():獲取剩餘空間,單位:B
(8)getTotalSpace():獲取總空間,單位:B
(9)getUsableSpace():獲取已用空間,單位:B
(10)getName():獲取檔案或目錄的名稱
二 IO流結構
1 IO:提供與流和檔案相關的類
2 輸入輸出流是針對Java程式而言的
(1)輸入流:Java程式得到資料
(2)輸出流:Java程式為其他地方提供資料
3 IO流分為位元組流和字元流
(1)位元組流包括位元組輸入流(InputStream)和位元組輸出流(OutputStream)
(2)字元流包括字元輸入流(Reader)和字元輸出流(Writer)
4 位元組流可用於讀寫二進位制檔案,字元流用於讀寫文字檔案,字元流直接可讀取寫入漢字
5 二進位制檔案:指檔案無字元編碼格式,由位元組組成,使用Stream流進行操作
6 文字檔案:能用記事本正常開啟的檔案
三 使用位元組流讀寫檔案
1 位元組流讀取檔案的步驟:
(1)開啟檔案
(2)操作(按位元組讀寫檔案)
(3)關閉檔案
2 ASCII碼:用數字表示字元的編碼
3 緩衝區:
(1)用來提高讀寫效率
(2)緩衝區是記憶體的一塊區域
(3)預設大小為4K
(4)讀寫檔案時,先把資料讀寫到緩衝區中,緩衝區滿4k時,自動將資料傳送到目的地
(5)緩衝區未寫滿時,不會自動傳送資料,應該呼叫flush()方法清洗緩衝區
(6)所有流相關的類都有與之對應的緩衝流,緩衝流的使用可以提高讀寫檔案的效能
4 常用方法:
(1)read():按位元組讀取檔案內容,按順序讀取檔案中的位元組,返回值為int型別
(2)close():關閉流,容器不需要關閉,先關緩衝區,後關流,
(3)flush():清洗緩衝區
(4)readLine():按行讀取文字檔案,一次讀取一行
(5)newLine():換行
5 呼叫close()方法會自動執行flush()方法
6 檔案複製:從原始檔中讀取資料,往目標檔案中寫入資料
7 將字串寫入到位元組流中需將字串轉換成位元組陣列,然後將位元組陣列寫到目的地
四 使用物件流讀寫檔案
1 實現Serializable介面的類可以被序列化,該介面是空介面
2 序列化:
(1)儲存物件的狀態,即物件屬性的值
(2)傳遞物件
(3)將物件變成字串
3 主要方法:
(1)writeObject():將實現了序列化介面的類寫入到流中
(2)readObject():從流中將實現了序列化介面的類讀取出來
4 可以用位元組流直接讀取漢字通過InputStreamReader和OutputStreamWriter
五 Properties類
1 適合讀取鍵值對形式的配置檔案,Map集合的實現類
2 主要方法:
(1)load():從檔案中讀取集合的內容
(2)store():往檔案中寫入集合的內容
六 其他
1 mysql資料庫從最後一次被訪問開始計時,8小時內若無訪問,mysql將禁止使用者連線