文本文件是以行为单位进行读、写的。由于每一行的长度不一定相同,不能计算出给定行在文件中的确切位置,因而只能顺序地读写。
文本文件只能单独为读或写而打开,在一个打开的文本文件上同时进行读、写操作是不允许的。
文本文件的打开需要两个步骤:1.文件变量与文件名关联;2.初始化读写。
1.文件变量与文件名关联:
AssignFile(VarTxt, FileName);
FileName 如果省略路径将默认当前目录。
2.初始化读写有三种方式:
(1) Reset: 只读打开, 指针移到文本开始;
(2) Rewrite: 创建新文件并打开, 只写;
(3) Append: 从尾部追加, 指针指向文本末尾。
文件不存在时使用 Reset 或 Append 会引发一个I/O异常。
最后用 CloseFile 关闭文件。
下面是常用的三个操作,写入内容,读取内容,追加内容
- unit Unit1;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls;
-
- type
- TForm1 = class(TForm)
- Button1: TButton;
- Button2: TButton;
- Button3: TButton;
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- procedure Button3Click(Sender: TObject);
- private
-
- public
-
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- var
- F: TextFile;
- FileName: string = ‘c:/A.txt‘;
-
-
- {$R *.dfm}
-
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- AssignFile(F,FileName);
- Rewrite(F);
- Writeln(F,‘one‘);
- Writeln(F,‘two‘);
- CloseFile(F);
- end;
-
- procedure TForm1.Button2Click(Sender: TObject);
- var
- str:string;
- begin
- AssignFile(F,FileName);
- Reset(F);
- while not Eof(F) do
- begin
- Readln(F,str);
- ShowMessage(str);
- end;
- end;
-
- procedure TForm1.Button3Click(Sender: TObject);
- begin
- AssignFile(F,FileName);
- Append(F);
- Writeln(F, ‘three‘);
- Writeln(F, ‘four‘);
- CloseFile(F);
- end;
-
- end.
http://blog.csdn.net/bdmh/article/details/4147077