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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章