6-2 記錄檔案的存取介面
內容:
6-2-1 檔案寫入介面
宣告可寫入記錄檔案的命令(檔案為 Employee.data),與相關存取方法如下:(如圖 6-2)
![](../插圖/chap6/圖%206-2.png)
宣告『可寫入』紀錄檔案的語法範例: |
功能說明: |
import
java.io.*; |
導入
java.io
套件 |
String file
= “Employee.data” |
檔案名稱(範例:Employee.data) |
FileWriter
fw = new FileWriter(file); |
產生可供寫入的紀錄檔案 |
BufferedWriter bw = new BufferedWriter(fw); |
產生可供寫入的緩衝器 |
void
bw.write() |
將字元、字串或位元寫入檔案。 |
void
bw.flush() |
強迫寫入檔案。 |
void
bw.newLine() |
於檔案內開啟新行(行分隔)。 |
void
bw.close() |
關閉檔案。 |
重點說明如下:
(1)
fw = FileWriter(file):檔案 file(如 Employee.data)存在的話,開啟它並清除其內容;不存在的話,則建立該檔案,再將檔案物件存入 fw 變數內。
(2)
bw = BufferedWriter(fw):宣告一個可供寫入緩衝器的物件,並連結到可寫入檔案 fw 物件;再將緩衝器物件存入 bw 變數內。
(3) 可寫入緩衝器物件的方法有:write()、newLine()、close()。
6-2-2 檔案輸出介面
產生可讀取檔案與可寫入檔案的步驟大致上相同。以 Employee.data 檔案為例,產生的宣告步驟如下:(如圖 6-2 所示)
宣告『可讀取』紀錄檔案的語法範例: |
功能說明: |
import java.io.*; |
導入
java.io
套件 |
String file = “Employee.data” |
檔案名稱(範例:Employee.data) |
File fileID = new File(file); |
開啟檔案,並回傳檔案識別碼 |
FileReader fr = new FileReader(fileID); |
產生可供讀取的紀錄檔案 |
BufferedReader br = new BufferedReader(fr); |
產生可供讀取的緩衝器 |
bw.read() |
緩衝器讀取方法之一 |
重點說明如下:
(1)
fileID = new File(file):利用 File 類別開啟 file(Employee.data)檔案物件,如果 file 檔案存在的話,則回傳一個整數的檔案識別碼(存入 fileID 物件內);否則回傳整數值為 -1。File 物件的方法有(節錄較常用的;詳請參考 java.sun.com 網站):
檔案物件的方法: |
說明: |
boolean canRead() |
測試檔案是否可讀取。 |
boolean canWrite() |
測試檔案是否可寫入。 |
boolean exists() |
測試檔案是否存在 |
boolean isFile() |
測試是否是一般檔案。 |
(2)
fr = new FileReader(fileID):產生一個可讀取的檔案物件,並連結到 fileID(檔案識別碼)。
(3) br = new BufferedReader(fr):產生一個可讀取的緩衝器物件,並連結到 fr(可讀取檔案物件變數)。
(4) 可讀取緩衝器物件的方法有(節錄較常用的):
『可讀取』檔案的方法: |
說明: |
void close() |
關閉檔案。 |
void mark() |
於檔案內標示某一位置。 |
int read() |
讀取以字串或位元組格式讀取檔案。 |
String readLine() |
由檔案讀取一行(或一筆)紀錄。 |
void reset() |
重置檔案回標示位置。 |
|