檔案也可分成有格式和無格式兩種。 目前提及的檔案都是有格式的。 有格式的檔案中記錄所含資訊是用外顯字元的形式表示, 而無格式的檔案中記錄則是用 二進形式表示。 因此無格式的檔案中記錄的確實形式, 隨機器而有所不同。
在第六章中提及, 在使用檔案輸入或輸出之前,檔案必須先標明所用的單位規定式號碼。 OPEN 敘述的一般形式為
OPEN ( open-list )
其中 open-list
UNIT = integer-exp
或
integer-exp
其中 integer-exp 的數值是零或正整數, 指定檔案的單位號碼。
READ 或 WRITE 敘述使用此單位號碼讀寫其連接的檔案。
使用第二種形式時,
integer-exp必須是open-list的第一項。
FILE = char-exp
其中 char-exp (略去末尾的空白)是單位號碼所連接的檔案名稱。
STATUS = char-exp
其中 char-exp (略去末尾的空白) 之值是下列之一:
OLD 舊檔, 必須用 FILE = 子句規定檔名。
NEW 新檔, 必須用 FILE = 子句規定檔名。
SCRATCH 草稿檔, 必須不用檔名。
UNKNOWN 未知檔, 以上皆非。 若省略 STATUS = 子句, 則預設為未知檔。
IOSTAT = int-var
其中 int-var 之值為零或正整數。 開檔順利, 則為零。
否則為正整數, 代表系統手冊中的錯誤信文之號碼。
ERR = n
其中 n 規定若在開檔發生錯誤時,所要執行檔案的號碼。
ACCESS = char-exp
其中 char-exp (略去末尾的空白) 之值是下列之一:
SEQUENTIAL 規定檔案是循序
DIRECT 規定檔案是直接
若省略此子句, 則預設為循序檔。
FORM = char-exp
其中 char-exp (略去末尾的空白) 之值是下列之一:
FORMATTED 規定檔案是有格式的
UNFORMATTED 規定檔案是無格式的
若省略此子句, 則循序檔預設為有格式的, 而直接檔預設為無格式的。
RECL = int-exp
其中 int-exp 之值為正。 此子句只在直接接達檔使用,
規定其記錄長度。 在有格式檔, 指的是 該檔每一記錄的字元數,
在無格式檔, 則視處理器(processor)而定。
BLANK = char-exp
其中 char-exp (略去末尾的空白) 之值是下列之一:
ZERO 規定數值欄中的空白是當做 0。
NULL 規定略過數值欄中的空白。
若數值欄中全是空白, 則不論 ZERO 或 NULL, 都當做 0。
CLOSE 敘述用以切斷檔案和單位號碼的連接。 CLOSE 敘述的一般形式為
CLOSE ( close-list )
其中 close-list
STATUS = char-exp
其中 char-exp (略去末尾的空白) 之值是下列之一:
KEEP 規定關檔後保留該檔。
DELETE 規定關檔後刪除該檔。
SCRATCH 檔不可用 KEEP。 若省略 STATUS = 子句, 則刪除草稿檔, 保
留其他類型的檔案。
檔案用CLOSE 敘述關閉後, 可以再用OPEN敘述打開, 可用同一單位號碼, 也可用不同的 號碼。 所有未關閉的檔案, 在程式終止執行時(由於發生錯誤而導致的不正常終止除外), 都自動關閉。
INQUIRE ( inquiry-list )
其中 inquiry-list 必須包括單位規定式或檔案規定式(但不可都用), 也可包括 IOSTAT = 或 ERR = 子句。 此外尚可包括許多其他子句。