1. 程式人生 > >Java基本概念-檔案系統與流操作

Java基本概念-檔案系統與流操作

一 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將禁止使用者連線