base.Channel 提供文件读写功能及与系统进程交互
方法:
类方法
create() RETURNING base.Channel 返回一个新的Channel对象
对象方法
isEof() RETURNING INTEGER 是否到文件末尾
openFile(path STRING,flags STRING) 打开一个与文件交换的Channel
openPipe(scmd STRING,flags STRING) 打开一个与进程交换的Channel
openClientSocket(host STRING,port INTEGER,flags STRING,timeout INTEGER)
通过host与post打一个socket Channel
setDelimiter(d STRING) 设定分隔符
read(buufer-list) RETURNING INTEGER 从input读入数据
write(buufer-list) 读出数据至output
readLine() RETURNING STRING 整行读入数据
writeLine(buufer STRING) 读出整行
create() 关闭Channel
使用步骤:
①.声明base.Channel变量
DEFINE ch base.Channel
②.调用base.Channel.create()创建base.Channel对象
LET ch = base.Channel.create()
③.通过创建的对象的setDelimiter()方法设定分割符
CALL ch.setDelimiter("^")
默认的分隔符为DBDELIMETER,如果DBDELIMETER没有指定则默认为"|",如果传递NULL,则没有任何分隔符可用
④.打开Channel,处理自己的逻辑(ex:读、写....)
CALL ch.openFile( "file.txt", "w" ) OR CALL ch.openPipe( "ls", "r" )
r:读模式,如果没有指定 path,则默认为标准读入
w:写模式,如果没有指定 path,则默认为标准输出,如果指定的文件不存在,则先创建
a:在文件末尾添加,如果没有指定 path,则默认为标准输出,如果指定的文件不存在,则先创建
u:先从标准读入再写入标准输出,path必须指定为NULL
openFile时上述的r、w、a、u都可以用b二进制模式替代
⑤.最好关闭Channel
CALL ch.close()
一个Channel对象最后一次被引用后会被自动关闭
转载请注明:赫非域 » BDL-FGL_BASE基本语法(base.Channel)