文件操作流程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

下面我们来总结一下Delphi中文件操作流程。Delphi中把文件分为3种:文本文件、类型文件和无类型文件。文本文件指可以被任意文件编辑器读取的ASCII文件。类型文件包含由程序员定义的数据类型的文件。无类型文件包含了其他所有的文件类型。

一.文本文件

Step 1 调用AssignFile()将文件变量与一个关联起来。如:

AssignFile(MyTextFile,’TextFile.txt’);

Step 2 打开文件。有三种打开文件的方式:

1.Rewrite过程创建并打开文件,对于一个已经存在的文件,此操作将

使文件被覆盖;

2.使用Reset过程只读地打开一个文件;

3.使用Append过程向已经存在的文本文件追加文本。

Step 3 对文件进行操作。如Write或Read操作。

Step 4 使用CloseFile来关闭一个已经打开的文件。

下面是一个文本文件操作的示例。

例1:

procedure TForm1.Button1Click(Sender: TObject);

var

MyTextFile: TextFile; //定义变量MyTextFile为

文本文件类型

begin

(*步骤1,将文件变量与外部文件联系。相当于为外部文件找了个

“替身”*)

AssignFile(MyTextFile, ‘TextFile.txt’);

(*判断操作的文件是否存在,不存在则创建文件。*)

if FileExists(‘TextFile.txt’) then

(*步骤2,打开文件,不过在打开前,最好进行文件是否存在的判

断。*)

Append(MyTextFile) //追加

else

Rewrite(MyTextFile); //新建,有则覆盖

try

(*步骤3,对文件进行操作。*)

WrtieLn(MyTextFile, ‘在文件末尾添加的文字!’);

Flush(MyTextFile); //清空缓冲区,确保字符串已经写入

文件之中。

finally

(*步骤4,关闭打开的文件,CloseFile常与try…finally搭

配,用于回收资源 *)

CloseFile(MyTextFile);

end;

end;

二.类型文件

Step 1 定义数据结构

Step 2 调用AssignFile()将文件变量与一个类型文件关联起来。

Step 3 打开类型文件。

Step 4 对类型文件进行操作。

Step 5 关闭已经打开的文件。

下面例子演示了类型文件的操作。

例2:

(*步骤1,定义数据结构。*)

type

TPerson = record

Name: string[20];

Sex: string[4]

Age: Integer;

End;

procedure TForm1.Button1Click(Sender: TObject);

var

//声明PersonFile变量为TPerson类型文件,文件是一系列某

种数据类型的集合

PersonFile: file of TPerson;

Person: TPerson;

begin

(*步骤2,关联文件。*)

AssignFile(PersonFile, ‘Person.dat’);

(*步骤3,打开文件。 *)

Reset(PersonFile);

try

While not Eof(PersonFile) do

(*步骤4,对文件进行操作。*)

begin

Read(PersonFile, Person);

Memo1.Lines.Add();

Memo1.Lines.Add(Person.Sex);

Memo1.Lines.Add(IntToStr(Person.Age));

end;

finally

(*步骤5,关闭文件。*)

CloseFile(PersonFile);

end;

end;

3、无类型文件

先介绍一下无类型文件的相关知识。无类型文件是由数据块序列组成的,每个数据块数列为128字节大小的数据。当然这个数据块大小其实是可以自定义的。无类型文件数据的读写操作可以利用数据块实现。无类型文件的操作步骤与文本文件的操作步骤基本相同,只是两者调用的函数略有差异罢了。Step 1 调用AssignFile()将文件变量与一个关联起来。

Step 2 打开文件。

Step 3 对文件进行操作。

Step 4 关闭文件,回收资源。

下面例子为无类型文件的“读取”过程。

例3:

procedure TForm1.Button1Click(Sender: TObject);

var

UnTypedFile: file; //定义无文件类型。

Buf: array[0..128] of byte; //定义缓冲区的大小。

Num: Integer;

Str: string;

begin

(*步骤1,指定文件关联。*)

AssignFile(UnTypedFile, ‘UnTypedFile.dat’);

(*步骤2,打开文件。*)

Reset(UnTypedFile);

(*步骤3,对文件进行操作。*)

try

BlockRead(UnTypedFile, Buf, 1, Num);

for I := 0 to 128 do

Str := Str + VarToStr(Char(Buf[I]));

Memo1.Lines.Add(Str);

finally

(*步骤4,关闭打开的文件,回收资源。*)

CloseFile(UnTypedFile);

end;

end;

相关文档
最新文档