Delphi txt文件的操作[1]读取、写入

Delphi txt文件的操作[1]读取、写入

Delphi 支持3种文件类型: 文本文件、记录文件、无类型文件。

1、文本文件的读写特点:

  • 文本文件 是以行为单位进行读、写的。由于每一行的长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。
  • 文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。

2、文本文件 的打开步骤:

2.1 文件变量与文件名关联:

  AssignFile(VarTxt, FileName); //FileName 如果省略路径将默认当前目录。FileName 既可以是全路径名,也可以仅是文件名。

2.2 初始化读写,有3种方式:

  • (1) Reset: //只读打开, 指针移到文件头;
  • (2) Rewrite: //创建新文件并打开, 只写;
  • (3) Append: //为写打开存在的文件并把文件指针定位在文件尾,从尾部追加。

注意:文件不存在时使用 Reset 或 Append 会引发一个I/O异常。

最后用 CloseFile 关闭文件(为保持兼容,Delphi 也允许用户用 Assign 建立关联, 用 Close 关闭文件)。

2.3 读写文本

  • Readln //读取一行文本,
  • writeln //写入一行文本。

3、读写txt文件方式:

3.1 直接用 Memo 加载

Memo1.Lines.LoadFromFile('E:\*\*.txt');

3.2 使用 Stringlist 来中转加载

var
  sList: TStringlist;
begin
  sList := TStringList.Create;
   try
  sList.LoadFromFile('C:\a.txt');
  finally
    sList.Free;
  end;
end;

然后可以将TStringList 转换为 string类型 str=ts.GetText ; 来转换

3.3 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;

创建时间: 2015.11.07  更新时间:2020.01.02  2022.03.23 

来源:https://www.cnblogs.com/guorongtao/p/4944675.html