首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 文件類型與標準 I/O 過程詳解:文本、記錄、無類型文件操作基礎

     編輯:Delphi

6.1 文件類型與標準過程

Delphi 繼承 Object Pascal 支持三種文件類型:文本文件、記錄文件、無類型文件。

6.1.1 文本文件

聲明:var TextFileVar: Text;

特點:以行為單位順序讀寫,行長不固定無法隨機訪問;同一時刻只能單獨為讀或寫打開,不支持同時讀寫。

6.1.1.1 打開與關閉

兩步驟:① AssignFile(TextFileVar, FileName) 關聯文件名(支持全路徑或相對路徑);② 初始化讀寫模式:

  • Reset:讀模式打開,指針指向文件首
  • Rewrite:寫模式創建新文件(覆蓋同名)
  • Append:寫模式打開現有文件,指針定位文件尾(僅文本文件)

Reset/Append 針對不存在文件會引發 I/O 異常。關閉文件調用 CloseFile。雖然程序退出自動關閉,但手動關閉可確保釋放句柄、增強可移植性。為兼容性保留 Assign/Close。

6.1.1.2 文本文件讀寫細節

  • 數值讀取:Read/Readln 假定數值以空格分隔,非逗號/分號。例:100 200 300 可讀,100 200, 300 會讀入 "200," 導致轉換異常。
  • 字符串讀取:盡可能多讀字符填充變量或至行尾。讀取格式化字符串須聲明匹配長度的變量。讀單詞需先讀整行再分析,或逐字符讀取判斷斷詞點。
  • 混合格式讀取:格式化字符串間分隔符讀入臨時變量;字符串與數值、數值間分隔符自動識別剔除。例:Mon 12:10 40 50 需 read(TextFileVar, Day, c, Time, Num1, Num2),c 為臨時字符變量吸收冒號。

6.1.1.3 文本文件編輯

與 TMemo 控件關聯:Memo1.Lines.LoadFromFile(TextFileName) 載入,編輯後 Memo1.Lines.SaveToFile 保存,極其便捷。

6.1.2 記錄文件

聲明:var RecordFileVar: file of RecordType;(RecordType 為自定義記錄類型)。

優勢:允許同時讀寫打開;記錄長度固定,支持隨機存取(Seek 定位)。詳細操作見下節實例。

6.1.3 無類型文件

提供底層 I/O 通道,用於變長記錄文件,常用於文件複製。因 Delphi 提供更好方法(見 6.4 節),較少使用。有興趣可查 BlockRead/BlockWrite。

6.1.4 Delphi 文件管理標準過程功能分類(一)

6.1.4.1 文件打開與關閉

過程/函數功能備註
AssignFile關聯外部文件名與文件變量替代舊式 Assign
Reset打開現有文件指針至文件首
Rewrite創建並打開新文件覆蓋同名文件
Append添加模式打開文件僅文本文件,指針至文件尾
CloseFile關閉打開的文件替代舊式 Close
FileOpen打開文件返回句柄系統內部/文件複製常用
FileCreate創建文件返回句柄同上
FileClose關閉指定句柄文件同上

後三者操作對象為文件句柄而非文件變量,主要供系統內部及文件複製編程使用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved