第五十二章 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
中指定的文件不存在,则 Windows
和 UNIX®
默认为不创建新文件。此行为可使用%SYSTEM
的 FileMode()
方法进行配置。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
访问。在Windows
和UNIX®
中,“W”
为进程提供对文件的共享写入访问权限,以及对记录的独占写入访问权限。使用 “WL”
指定对文件的独占写入访问权限。如果尝试以 “W”
模式打开不存在的文件,则进程将挂起,直到创建文件或通过超时、进程终止或 RESJOB
解决进程。“R”
是所有平台的默认值。系统范围的默认打开模式可以通过设置 OpenMode
来配置
L
锁定独占:将 “L”
模式与“W”
(写入) 模式一起使用,以指定对文件的独占写入访问权限。“WL”
或“WRL”
指定当前进程对文件具有独占写入访问权限。使用 “RL”
打开的文件可能仍具有共享读取访问权限。在 Windows
和 UNIX®
中,“L”
模式对并发打开的影响不同。有关更多详细信息,请参阅下面的“OPEN Mode Locking”
部分。在 UNIX®
系统上,如果一个进程指定了对文件的 “WL”
(或 “WRL”
) 访问,则请求对该文件的读取访问的其他进程必须指定 “RL”
,以便 UNIX®
可以协调文件锁定。