- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
012-文件处理.pdf
下载
第1 2章 文 件 处 理
本章内容:
• 处理文件的输入输出
• TTe x t R e c和T F i l e R e c结构
• 内存映射文件
• 目录和驱动器
程序设计当中我们时常遇到需要处理文件、目录及驱动器的情况,本章将对如何处理不同类型的
文件进行讲述。本章包括如何使用 T F i l e S t r e a m类封装文件的输入/输出以及如何利用 3 2位Wi n d o w s 的主
要特征—内存映射文件。你将学习到如何创建一个封装了内存映射文件功能的 T M e m o r y M a p p e d F i l e
类,并用它在文本文件中进行文本查询。本章还提供了一些关于选择驱动器、在树型目录中查询文件
及获取文件版本信息的方法。本章将使你对文件、目录及驱动器有深入的认识。
12.1 处理文件的输入/输出
你将要对三种文件进行处理:文本文件、类型文件和二进制文件。以下几节是关于文件输入 /输出
的讲解。文本文件指可被任意文本编辑器读取的 A S C I I文本。类型文件指包含由程序员定义的数据类
型的文件。二进制文件包含了其他所有的类型,它是对包含任意格式或无格式数据的文件的统称。
12.1.1 文本文件的处理
本节讲述使用内建于 Object Pascal运行时库中的过程和函数处理文本文件的方法。在对文本文件
进行任何处理之前,首先要打开此文本文件。声明变量:
通过此变量可以来引用一个文本文件。
打开一个文件需要两步:首先是A s s i g n F i l e ( ) ,它可以将文件变量与一个文件关联起来。例如:
这时,你可以进行第二步:打开文件。有三种方式打开文件:使用 R e w r i t e ( )过程创建并打开文
件;对于一个已存在的文件,此操作将使文件被覆盖;使用 R e s e t ( )过程只读地打开一个文件;使用
Append() 过程向已存在的文件追加文本。
注意 Reset()将以可读写方式打开类型文件和无类型文件。
可以使用C l o s e F i l e ( )来关闭一个已打开的文件。下例是各种调用的例子。
下面的例子将以只读方式打开一个文件:
第1 2章 文 件 处 理 3 4 5
下载
{ 操作文件 }
下面的例子将创建一个新文件:
{ 操作文件 }
下面的例子将向一个已存在的文件追加新文本:
{ 操作文件 }
清单1 2 - 1演示了如何使用R e w r i t e ( )过程创建并向文件中增加五行文本。
清单12-1 创建一个文本文件
被创建的文件中包含如下文本:
3 4 6 第二部分 高 级 技 术
下载
清单 1 2 - 2演示了如何在同一个文件中加入更多文本。
清单12-2 追加文本
文件中的文本如下:
以上两个程序是向文件写入字符串和整数。其实, Object Pascal对于所有的数据类型都可以这样
处理。从文本文件中读取数据的方法见清单 1 2 - 3。
清单12-3 读取文本
第1 2章 文 件 处 理 3 4 7
下载
清单1 2 - 3中,把变量S声明为一个数组S t r i n g [ 1 5 ],从而避免了将文件中的所有行都读入变量S 中去。
否则,在将其读入整数变量 J 时会出错。这表现了文本文件 I / O 的另一个特性:你可以在文本文件中写
列。然后可以将列读进定长的字符串。这样不同长度的实际字符串可以放在同长度的列中。这里还使
用了E o f ( ) 函数。它用来检查文件的指针是否在文件的最后。如果是,则停止循环,因为此时已没有文
本可以读取。
这里,将利用文本文件 U S C a p s .
文档评论(0)