用兩種方式讀取文本文件:文件流讀取和文件變量讀取
一、文件流方式
{*******************************************************}
{功能:讀取文本文件的內容 }
{參數: }
{ fileName: 文件路徑 }
{ }
{返回值:文件內容字符串(有可能亂碼) }
{*******************************************************}
function GetContentFromFile(fileName: string): string;
var
fs: TFileStream;
str: string;
begin
fs := TFileStream.Create(fileName, fmOpenRead);
try
SetLength(str, fs.size);
fs.ReadBuffer((PChar(str))^, fs.size);
result := str;
finally
fs.Free;
end;
end;
二、文件變量方式
{********************************************************}
{功能:讀取文本文件的內容並保存到TStringList中}
{參數: }
{ fileName: 文件路徑 }
{ ErrMsg:錯誤信息 }
{ strLst: 根據文本內容產生的TStringList }
{ }
{返回值:是否讀取成功 }
{******************************************************* }
function GetContentFromFile(fileName: string; var errMsg: string; var strLst: TStringList): boolean;
var
F: TextFile;
i: integer;
fileStr: string;
begin
result := false;
if FileExists(fileName) then
begin
AssignFile(F,fileName); //把一個外部文件名和一個文件變量相關聯
try
try
Reset(F); //爲讀打開文件並把文件指針移動到文件首
while not Eof(F) do
begin
ReadLn(F, fileStr); //從文本文件中讀取信息
strLst.Add(fileStr);
end;
result := true;
except on E:Exception do
begin
ErrMsg := E.Message;
end;
end;
finally
CloseFile(F); //關閉文件
end;
end
else begin
ErrMsg := '文件不存在';
end;
end;