Delphi 支持三種文件類型: 文本文件、記錄文件、無類型文件。
文本文件的讀寫:
文本文件 是以行為單位進行讀、寫的。由於每一行的長度不一定相同,不能計算出給定行在文件中的確切位置,因而只能順序地讀寫。
文本文件只能單獨為讀或寫而打開,在一個打開的文本文件上同時進行讀、寫操作是不允許的。
文本文件 的打開需要兩個步驟:1.文件變量與文件名關聯;2.初始化讀寫。
1.文件變量與文件名關聯:
AssignFile(VarTxt, FileName);
FileName 如果省略路徑將默認當前目錄。
2.初始化讀寫有三種方式:
(1) Reset: 只讀打開, 指針移到文件頭;
(2) Rewrite: 創建新文件並打開, 只寫;
(3) Append: 從尾部追加, 指針當然在文件尾。
文件不存在時使用 Reset 或 Append 會引發一個I/O異常。
最后用 CloseFile 關閉文件。
為保持兼容,Delphi 也允許用戶用 Assign 建立關聯, 用 Close 關閉文件。
第一種、直接用 memo 加載 txt文件
1. memo控件讀取txt
memo1.Lines.LoadFromFile('E:\*\*.txt');
要讀取一個txt文件的全部內容可以借用到 stringlist 來中轉。
建立一個stringlist,如:
var
sList: TStringlist;
begin
sList := TStringList.Create;
try
sList.LoadFromFile('C:\a.txt');
finally
sList.Free;
end;
end;
然后可以將TStringList 轉換為 string類型 str=ts.GetText ; 來轉換
第二種、Delph內建的函數讀寫
示例代碼:
var
F: Text; //TextFile 和 Text 是一樣的
FileName: string = 'c:\temp\test.txt';
//寫文件
procedure TForm1.Button1Click(Sender: TObject);
begin
AssignFile(F,FileName);
Rewrite(F); //會覆蓋已存在的文件
Writeln(F, '第一行');
Writeln(F, '第二行');
CloseFile(F);
end;
//讀文件(先執行寫文件)
procedure TForm1.Button2Click(Sender: TObject);
var
s: string;
begin
AssignFile(F,FileName);
Reset(F); //只讀打開
Readln(F, s); //讀取
ShowMessage(s); //顯示: 第一行
Readln(F, s); //繼續讀取
ShowMessage(s); //顯示: 第二行
CloseFile(F);
end;
//追加
procedure TForm1.Button3Click(Sender: TObject);
begin
AssignFile(F,FileName);
Append(F); //打開准備追加
Writeln(F, '第三行');
Writeln(F, '第四行');
CloseFile(F);
end;
//讀取全部(需要Memo幫忙顯示)
procedure TForm1.Button4Click(Sender: TObject);
var
s: string;
begin
AssignFile(F,FileName);
Reset(F); //只讀打開
Memo1.Clear;
while not Eof(F) do
begin
Readln(F, s);
Memo1.Lines.Add(s);
end;
CloseFile(F);
end;
第三種、Delphi 用流來讀取TXT文件
TXT文本文件是一種以ACSII嗎存儲數據的文件。在TXT文件中只能夠存儲一些字符數據,所以這種文件的移植性和通用性很強,具有較高的易用性,並且 被廣泛應用,所以Delphi對該類型文件提供了較好的支持。目前在Internet上最為流行的XML文件也是一種文本文件。TXT文本文件的操作非常 簡單,具體操作過程如下:
1.首先要聲明一個TextFile類型的的文件指針。如:var MyFile:TEXTFile。
2.然后使用AssignFile方法將聲明的文件指針與外部TXT文件相關聯。AssignFile (FileName ) ;FileName 既可以是全路徑名,也可以僅是文件名。對於后者系統將在當前目錄下查找。
3.初始化讀寫有三種方式: Reset為讀打開文件並把文件指針移動到文件首;Rewrite為寫創建一個新文件;Append為寫打開存在的文件並把文件指針定位在文件尾。
4.讀取或寫入文本。Readln方法能夠讀取一行文本,writeln方法能向文件寫入一行文本。
5.最后用Closefile方法關閉已打開的文件。
在這里我們要介紹的就是如何用流來讀取TXT文件中的數據,並且在指定顯示區域顯示出來。首先讓我們通過一個簡單范例來了解ReadBuffer方法,讓我們來讀取指定TXT文件的前10個字符。
創建時間:2015-11-07 更新日期:2020.01.02
來源:https://www.cnblogs.com/guorongtao/p/4944675.html