COBOL - 文件处理动词17 Mar 2025 | 6 分钟阅读 文件处理动词用于执行多个文件操作。文件处理术语如下。处理文件意味着执行所有文件操作,如读取、写入、打开、关闭等。 以下是文件处理动词列表,或者我们可以说文件处理操作:
打开在开始处理文件之前,首先需要打开文件。打开是执行其他任务之前需要执行的第一个文件操作。如果打开成功,那么我们才能执行其他文件操作,如读取、写入、关闭等。只有在打开文件之后,文件结构中的变量才能用于处理。 打开文件不会将数据传输到记录缓冲区;它只是提供访问。 在每次文件操作后,我们可以使用 FILE STATUS 变量来检查状态。 语法文件可以以以下任何模式打开: INPUT (输入)此模式仅用于现有文件。要从文件读取,我们需要使用此模式。我们无法通过此模式对文件执行其他操作。当一个文件以 INPUT 模式打开时,下一个记录指针指向文件开头。 输出Output 模式用于在文件中写入记录。在顺序文件中,如果记录已经存在,则该文件将被覆盖。但在索引文件和相对文件中,不会发生这种情况。 EXTEND (扩展)此模式将记录附加到顺序文件中。在此模式下,记录将被插入到末尾。当文件以 Extend 模式打开时,下一个记录指针位于文件中的最后一个记录。 我们不能在 Random 和 Dynamic 文件的情况下使用 extend 模式。 I-O (输入输出)I-O 是输入和输出模式。此模式读取和重写(更新)文件的记录。 READ一旦文件以 INPUT 或 I-O 模式打开,就可以使用 READ 动词一次读取一条记录。此动词将记录发生或实例从文件复制并放置在使用 FD 定义的记录缓冲区中,然后我们可以访问它。 语法以下是当文件访问模式为 sequential (顺序) 时的 read 动词的语法: 以下是上述语法中定义的参数:
示例让我们看一个使用顺序组织读取现有文件的例子。这将显示文件中写入的所有记录。这里我们将使用 file.txt 文件。该文件与我们的 COBOL 程序位于同一目录中。 file.txt 文件在 C:\JTP\Cobol Tutorial\bin 目录中包含以下内容: 输出 当您编译并执行上述程序时,它将显示以下输出 ![]() 语法以下是当文件访问模式为 random (随机) 时的 read 动词的语法: WRITE此动词用于将内容写入文件。要将数据插入文件,我们必须将数据移动到记录缓冲区(在 FD 条目中声明),然后将记录缓冲区的内容写入文件。 Write 语句用于通过 FROM(一个可选子句)直接从工作存储变量写入记录。 可以根据文件打开模式以两种方式将写入操作写入文件:
简而言之,我们可以说如果文件以 OUTPUT 模式打开,则写入操作将覆盖现有文件。如果文件以 EXTEND 模式打开,则 write 动词会将记录添加到现有文件中。 语法以下是当文件组织为 sequential(顺序)时写入记录的语法: 以下是当文件组织为 indexed(索引)或 relative(相对)时写入记录的语法: 示例让我们看一个例子,展示如何在组织为 sequential(顺序)的新文件中插入记录: 输出 当您编译并执行此程序时,它将显示以下输出: ![]() 当您打开文件 'file2.txt' 时,它将添加一条新记录: ![]() REWRITE (重写)Rewrite (重写) 动词更新记录,但必须以 I-O 模式打开文件才能执行重写操作。我们只能在成功读取操作后执行重写操作。 Rewrite (重写) 动词覆盖上次读取的记录。为此,我们需要使用 READ 动词读取记录,然后更改记录的内容,然后执行 REWRITE 操作以更新记录。 语法以下是当文件组织为 sequential(顺序)时写入记录的语法: 以下是当文件组织为 indexed(索引)或 relative(相对)时写入记录的语法: DELETEDelete (删除) 动词用于删除在文件最新读取中读取的记录。我们只能对 indexed 和 relatives 文件使用 Delete 动词。并且必须以 I-O 模式打开文件。 无法特定删除顺序文件中的记录。 在 sequential (顺序) 访问模式下,将删除 Read 语句上次读取的记录。您需要在 random (随机) 访问模式下定义记录键才能执行删除过程。 语法开始我们只能对 indexed 和 relative 文件执行 start 操作。start 动词用于将文件指针放置在特定记录处。此访问模式必须是 sequential (顺序) 或 dynamic (动态) 。必须以 I-O input 模式打开文件。start 不用于检索任何记录,它仅将指针设置为下一次读取以读取记录。 语法以下语法用于将指针放置在特定记录处: 关闭此动词用于显式关闭文件。当您关闭文件时,文件结构中的变量将无法用于处理。并且程序和文件之间的连接丢失。 语法关闭文件的语法: 下一个主题COBOL 内部排序 |
我们请求您订阅我们的新闻通讯以获取最新更新。