TextInputStream inputData = new TextInputStream("input.data");
接著和以前使用標準 I/O 的用法一樣:
int n = inputData.readInt();
double x = inputData.readDouble();
String s = inputData.readLine();
讀完檔案,應使用 close( ) 關閉:
inputData.close();
輸出資料到檔案,用法相似:
TextOutputStream outputData = new TextOutputStream("output.data");
outputData.println(n + " " + x);
outputData.close();
例題: EmplFile.java
要接受命令列引數,可用函數 main 的參數 args:
public static void main(String[] args)
{
. . .
}
例題: EmplCmd.java
命令列引數可以不只一個,例如,
java Crypt -d -k11 encrypt.txt output.txt
例題: Caesar Cipher -- Crypt.java
此例使用一個在 1 和 25 間的數字當做 key 編密碼。 例如,該數為3 表示明碼文中每個字母, A 換成 D, B 換成 E,依此類推。
隨意接達只限磁碟檔。 每一磁碟檔都有一檔案指針(file pointer)。 通常指針在檔尾,任何輸出都附加 在後面。 讀資料從指針所指位置開始。
處理隨意接達檔用物件 RandomAccessFile, 用
RandomAccessFile f = new RandomAccessFile("employee.dat", "rw");
第一個參數為檔案名稱,第二個參數表示使用方式,"r" 表示只讀不寫,"rw" 表示讀寫均可。
f.seek(n);
則將檔案指針移到從檔頭數起第 n 個位元組的位置。
n = f.getFilePointer();
求出指針的目前位置。
long int fileLength = f.length();
計算檔案的位元組總數
直接接達檔中所有記錄, 其長度必須相同, 而且不能更動。 儲存數值在記錄長度固定的檔案時, 採用二進格式較容易。 類別 RandomAccessFile 儲存資料用二進格式, 並提供 readInt 和 writeInt 讀寫整數(4 位元組), readDouble 和 writeDouble 讀寫浮點數(8 位元組),
int n = f.readInt();
f.writeInt(n);
double x = f.readDouble();
f.writeDouble(x);
例題: Database.java