文章
· 十二月 18, 2024 阅读大约需 3 分钟

第五十二章 File 输入 输出 - OPEN模式参数

第五十二章 File 输入 输出 - OPEN模式参数

OPEN 模式参数

可以通过以下两种方式之一指定 OPEN 模式参数
- 用引号字符括起来的字母代码字符串,如 “VRWN”。每个字母都指定一个参数。字母代码可以按任何顺序指定;因为 IRIS 按照从左到右的顺序执行它们,所以在某些情况下,字母代码之间的交互可能会决定首选顺序。
- 一系列 /keyword 参数,未加引号。这些参数用冒号分隔。关键字参数可以按任意顺序指定;因为 IRIS 以从左到右的顺序执行它们,所以在某些情况下,参数之间的交互可能会决定首选顺序。

指定字母代码参数和关键字参数的组合时,请先指定字母代码字符串,然后指定关键字参数,用冒号分隔。以下示例指定三个字母代码参数,后跟两个关键字参数,后跟 reclen 和 timeout 参数。

  OPEN "mytest":("WNS":/OBUFSIZE=65536:/GZIP=0:32767):10

N /NEW

新建文件。如果指定的文件不存在,则系统创建该文件。如果指定的文件已作为 ReadOnly 文件存在,则系统会删除旧文件并将其替换为同名的新文件(权限允许)。请注意,应使用文件锁定来防止使用此参数的并发进程覆盖同一文件。

如果未指定 “N” 模式(或 “T” 模式),并且在 OPEN 中指定的文件不存在,则 WindowsUNIX® 默认为不创建新文件。此行为可使用%SYSTEMFileMode() 方法进行配置。Process 类。可以通过设置 Config.Miscellaneous 类的 FileMode 属性来建立系统范围的默认行为。

E /CREATE /CRE

如果文件不存在,请创建一个文件。不会像 “N” 模式那样删除并重新创建现有文件。默认设置是不创建新文件。如果 FileMode()

T /TRUNCATE

Truncate File:如果文件存在且可写,则它将被截断,其属性保持不变。如果指定的文件不存在,则系统会创建一个新文件,就像指定了 “N” 模式一样。“WT”“WNT” 在功能上相同。

D

/DELETE[=n] /DEL[=n]

删除文件: 指定在关闭文件时应自动删除文件。/DELETE/DELETE=n(对于非零值 n)启用参数代码。/DELETE=n(如果值为零,则为 n)将禁用参数代码。默认设置是不删除文件。

R /READ

读取:IRIS 允许读取访问该文件。其他进程也可以访问此文件(但是,请参阅 “L” 参数)。如果尝试在 “R” 模式下打开不存在的文件,则进程将挂起。若要防止这种情况,请使用 timeout。“R” 是所有平台的默认值。系统范围的默认打开模式可以通过设置 OpenMode 来配置

W /WRITE /WRI

Write: IRIS 允许对文件进行 WRITE 访问。在WindowsUNIX® 中,“W” 为进程提供对文件的共享写入访问权限,以及对记录的独占写入访问权限。使用 “WL” 指定对文件的独占写入访问权限。如果尝试以 “W” 模式打开不存在的文件,则进程将挂起,直到创建文件或通过超时、进程终止或 RESJOB 解决进程。“R” 是所有平台的默认值。系统范围的默认打开模式可以通过设置 OpenMode 来配置

L

锁定独占:将 “L” 模式与“W” (写入) 模式一起使用,以指定对文件的独占写入访问权限。“WL”“WRL” 指定当前进程对文件具有独占写入访问权限。使用 “RL” 打开的文件可能仍具有共享读取访问权限。在 WindowsUNIX® 中,“L”模式对并发打开的影响不同。有关更多详细信息,请参阅下面的“OPEN Mode Locking”部分。在 UNIX® 系统上,如果一个进程指定了对文件的 “WL” (或 “WRL”) 访问,则请求对该文件的读取访问的其他进程必须指定 “RL”,以便 UNIX® 可以协调文件锁定。

讨论 (0)1
登录或注册以继续