- 文件读写操作/文本文件读写(过时的 Lazarus 文件操作 *不推荐,但可作为了解)
- 读取文件时,但不是从控制台(键盘)中读取数据,可以这样:
- read (文件变量, 参数列表); // 文本读取
- write (文件变量, 参数列表); // 文本写入
- 同样用 readln 和 writeln 文件变量声明如下:
- readln // 行读取
- writeln // 行写入
- var
- ...
- filein, fileout : text; // text 数据类型,指定该文件仅是纯文本形式。
- 操作文件时,需要先声明变量,以读取或者写入数据;
- 我们需要将磁盘上的文件与变量相关联,可以使用以下2种方式之一,通常:
- reset (文件变量, '文件名'); // 文件打开
- rewrite (文件变量, '文件名'); // 文件创建
- reset 将对打开的文件进行读取或重写。
- 使用 reset 操作文件,只能进行 read、readln 操作。
- 使用 rewrite 操作文件,只能进行 write、rewrite 操作。
- 首先将文件名赋值给一变量,之后调用 reset 或 rewrite
- AssignFile (文件变量, '文件名');
- reset (文件变量);
- 操作系统不同,路径表达方法也不一。
- Windows使用反斜杠(如 c:\directory\name.pas),而MacOS、Linux使用斜杠。
- 这里你可以直接使用 PathDelim // 跨平台路径分隔符
- 操作完成后,你需要关闭它:
- CloseFile(文件标识符);
- 下面是一个操作文件的示例,程序运行在DOS下,将读取file1.txt内容,写入到file2.txt中。
- procedure TForm1.Button1Click(Sender: TObject);
- var
- mychar : char; // 字符型变量
- AA, BB : text; // 文本文件变量
- begin
- AssignFile (AA, 'file1.txt'); // 关联文件变量与物理文件路径
- reset (AA); // 以只读方式打开现有文件
- AssignFile (BB, 'file2.txt'); // 关联文件变量与物理文件路径
- rewrite (BB); // 创建新文件(覆盖已有文件)
- read (AA, mychar); // 读取数据(不处理换行符)
- write (BB, mychar); // 写入数据(不添加换行符)
- CloseFile(AA); // 关闭文件并释放资源
- CloseFile(BB); // 关闭文件并释放资源
- end;
- 记得在目录下放一个 file1.txt ,如果没有就会报错!
复制代码 |