用两种方式读取文本文件:文件流读取和文件变量读取
一、文件流方式
{*******************************************************}
{功能:读取文本文件的内容 }
{参数: }
{ 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;