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