Delphi 读取文本文件的两种方式

用两种方式读取文本文件:文件流读取和文件变量读取

一、文件流方式

{*******************************************************}
{功能:读取文本文件的内容                                  }
{参数:                                                                  }
{     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;

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值