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

[toc]

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

A /APPEND /APP

Append:WRITE 操作将数据附加到现有文件的末尾。默认设置是覆盖现有数据,而不是 append

S /STREAM

流格式,回车符、换行符或换页符作为默认终止符。S、V、F 和 U 模式是互斥的。Stream record format 是默认格式。

V /VARIABLE

请勿尝试在可变长度顺序文件末尾以外的任何位置插入记录;WRITE 将使文件中的所有数据从 WRITE 之后的点开始无法访问。S、V、F 和 U 模式是互斥的。流记录 (S) 格式是默认格式。

使用转换表写入的可变长度记录(例如使用 UTF8 转换的 Unicode 数据)可能会导致存储的记录具有与输入数据不同的字符串长度。IRIS 在读取此记录时使用原始输入字符串长度。

F /FIXED /FIX

Fixed length:每条记录都是 reclen 参数中指定的长度。例如:OPEN “myfile”:(“RF”:4) USE “myfile”:0 READ x:5此示例将前 4 个字符的记录读入变量 x。这仅适用于 READ 操作(不适用于WRITE 操作)。S、V、F 和 U 模式是互斥的。

U /UNDEFINED

未定义的长度:指定文件记录具有未定义的长度,因此 READ 操作必须指定要读取的字符数。最大记录长度在 reclen 参数中指定。输出时无翻译。默认值为最大字符串长度。S、V、F 和 U 模式是互斥的。

K\name\ Knum /TRANSLATE[=n]: /IOTABLE[=name] /TRA[=n]: /IOT[=name]

I/O 转换模式:当您为设备使用“K”参数时,如果已在系统范围内启用转换,则该设备将进行 I/O 转换。通过指定表的名称,可以标识翻译所基于的先前定义的表。使用关键字时,指定 /TRANSLATE 以启用 I/O 转换(n=1 表示启用;n=0 禁用),并使用 /IOTABLE=name 指定要使用的转换表。有关可用转换表的列表,请参阅 $ZCONVERT 函数文档中的编码转换。用于打开和关闭协议的 +- 选项不适用于 K 协议。(旧形式 Knum,其中 “num” 表示 table 加载到的插槽的编号,正在逐步淘汰,但仍受支持。系统管理器可以在选择窗口的 %NLS 实用程序中为每种表类型显示插槽编号。此参数可以与 OPEN 命令或 USE 命令一起使用。

Y\name\ Ynum /XYTABLE[=name] /XYT[=name]

X/Y Action Mode:对设备使用 “Y” 参数时,系统使用指定的 $X/$Y Action Table。通过指定表的名称,可以确定之前定义的 $X/$Y 操作表,该表的转换基于该表。$X/$Y 操作始终处于启用状态。如果未指定 “Y” 且未定义系统默认 $X/$Y,则使用内置的 $X/$Y 操作表。用于打开和关闭协议的 +- 选项不适用于 Y 协议。(旧形式 Ynum,其中 “num” 表示加载表的槽数,正在逐步淘汰,但仍受支持。系统管理器可以在NLS 实用程序的选择窗口中显示每种表类型的插槽编号。此参数可以与 OPEN 命令或 USE 命令一起使用。

/NOXY [=n

X和Y处理:/NOXY/NOXY=n(对于 n 的非零值)将禁用$X$Y处理。这可以显著提高 READWRITE 操作的性能。$X$Y 变量的值是不确定的,并且 margin 处理(取决于$X)处于禁用状态。/NOXY=0 启用 $X$Y 处理;这是默认设置。此参数可以与 OPEN 命令或 USE 命令一起使用。

/OBUFSIZE=int

Output Buffering:创建输出WRITE 缓冲区。int 变量是一个整数,用于指定缓冲区的大小(以字节为单位)。仅当文件打开时只能写入(“W”,而不是“R”“RW”)时使用。在执行多个小型写入时,尤其是通过 WAN 时,可能会提供显著的性能改进。但是,如果发生系统崩溃,缓冲区中的数据可能会丢失。缓冲区中的数据在 CLOSE、WRITE *-1WRITE *-3 时刷新到磁盘。

/GZIP [=n]

GZIP 压缩:指定与 GZIP 兼容的流数据压缩。/GZIP/GZIP=n(对于 n的非零值)在 WRITE 时启用压缩,在 READ 时启用解压缩。/GZIP=0 禁用压缩和解压缩。在发出 /GZIP=0 以禁用压缩和解压缩之前,请检查 $ZEOS 特殊变量以确保流数据读取未进行中。/GZIP 压缩对 I/O 转换没有影响,例如使用 /IOTABLE 建立的转换。这是因为压缩是在所有其他转换(加密除外)之后应用的,而解压缩是在所有其他转换(加密除外)之前应用的。

/COMPRESS=str

将流数据压缩类型指定为以下值之一:

  • “zlib” — 使用 zlib 压缩库。/COMPRESS=“zlib” 等效于 /GZIP=1
  • “zstd” — 使用 Zstandard 压缩算法。
  • “lz4” — 使用 LZ4压缩算法。
  • “deflate” — 使用 DEFLATE压缩算法。

要禁用压缩,请指定 /COMPRESS=“”。要压缩字符串,请使用 %SYSTEM。Util.Compress()Util.Compress() 中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352