本章介绍file()函数的多种用法。
描述:
打开指定文件名的文件。
语法:
file( fn{:cs})
备注:
打开文件名为fn的文件
参数:
fn |
加载的文件名,可使用绝对路径或者相对路径。如果使用相对路径,则相对主目录,主目录为集算器选项菜单里配置的主目录,主目录缺省为当前目录(dfx文件打开的目录)。 |
cs |
字符集,支持的字符集是jvm自带的字符集。缺省则为操作系统默认值。 |
选项:
@s |
按照指定顺序搜索非绝对路径的文件名,搜索顺序为类路径-寻址路径-主目录,寻址路径为集算器选项菜单里配置的寻址路径,主目录缺省为当前目录。 返回结果为只读文件名称 |
@t |
在fn目录下产生临时文件,fn省略时产生在【工具】-【选项】-【环境】中设置的临时目录(临时目录相对于【工具】-【选项】-【环境】中设置的主目录) 或者相对路径下。 |
@a |
用于写的文件在发生共享冲突时会等待 |
返回值:
文件对象
示例:
file("D:/Area.txt":"UTF-8") |
加载位于D:\下的" Area.txt"文件,字符集为UTF-8 |
file("Area.txt") |
加载位于主目录下的" Area.txt"文件。 |
file@s("data/Area.txt") |
先搜索类路径,类路径中没有再搜索寻址路径列表,寻址路径中没有最后搜索主目录 |
file@t("data/Area.txt") |
在data/下产生临时文件 |
描述:
打开指定文件名的文件组。
语法:
file( [fni,…]:cs)
备注:
打开文件名为fni。。。的文件组
参数:
|
加载的文件名,可使用绝对路径或者相对路径。如果使用相对路径,则相对主目录,主目录为集算器选项菜单里配置的主目录,主目录缺省为当前目录(dfx文件打开的目录),可以有多个。 |
cs |
字符集,支持的字符集是jvm自带的字符集。缺省则为操作系统默认值。 |
返回值:
文件对象
示例:
=file(["D:/tmp2.txt","tmp.txt"]:"UTF-8") |
加载位于D:\下的" tmp2.txt "和"tmp.txt"文件组,字符集为UTF-8 |
=file(["tmp2.txt","tmp.txt"]:"UTF-8") |
加载位于主目录下tmp2.txt "和"tmp.txt"文件组,字符集为UTF-8 |
描述:
通过访问远程组表文件生成集群文件。
语法:
file(fn,h)
备注:
通过节点机序列h访问远程组表文件fn生成集群文件。无选项且h是分机序列时返回远程文件,相当于函数file(fn:z,h)。
参数:
fn |
组表文件 |
h |
节点机或节点机序列 |
选项:
@z |
根据分机序列的顺序,从h(1)的1分区、h(2)的2分区、…找出名为fn的文件形成分布文件 |
@w |
fn可以不存在,用于产生可写的分布文件,不支持文件组 |
@n |
直接根据文件名读取组表文件,而不是从分区中查找组表文件,并且生成复写文件;同时有@z则生成分布文件 |
@0 |
从0分区读取组表文件,生成复写文件;同时有@z则生成分布文件 |
返回值:
集群文件
示例:
|
A |
|
1 |
=file@0("emp1.ctx",["192.168.0.116:8281","192.168.0.129:8281"]) |
从节点机 "192.168.0.116:8281","192.168.0.129:8281"的0分区读取组表文件emp1.ctx,生成复写类型的集群文件 |
2 |
=file@z("emp1.ctx",["192.168.0.116:8281","192.168.0.129:8281"]) |
从节点机 "192.168.0.116:8281"的1分区和"192.168.0.129:8281"的2分区读取组表文件emp1.ctx,生成分布类型的集群文件 |
3 |
=file@n("emp1.ctx",["192.168.0.116:8281","192.168.0.129:8281"]) |
从节点机 "192.168.0.116:8281"和"192.168.0.129:8281"的各自主目录中读取组表文件emp1.ctx,生成复写类型的集群文件 |
4 |
=file@n("D:/file/emp2.ctx", ["192.168.0.116:8281","192.168.0.129:8281"]) |
在节点机 "192.168.0.116:8281"和"192.168.0.129:8281"里读取组表文件D:/file/emp2.ctx,生成复写类型的集群文件 |
5 |
=file@zw(“emp2.ctx”,[“192.168.0.131:8281”]) |
在节点机”192.168.0.131”的1区中新建可写的分布组表文件emp2.ctx |
描述:
打开指定远程文件名的文件。
语法:
file(fn:z,h)
备注:
h是分机主进程序列时,在h中某分机的数据区z寻找文件fn,优先用本地,本地找不到则在远程机器上寻找比较闲的分机中的文件,打开的文件只读;h是单值时仅在h上找,远程文件可写;z省略则按主目录找。
参数:
fn |
加载的文件名,可使用绝对路径或者相对路径。如果使用相对路径,则相对主目录。IDE中主目录为集算器选项菜单里配置的主目录,主目录缺省为当前目录;服务器中主目录为配置文件raqsoftConfig.xml中的mainPath的值,并且不可为空。 |
z |
数据区名称 |
h |
分机序列 |
返回值:
文件对象
示例:
file("D:\\Scores.txt","192.168.0.20:9282") |
加载位于本机D:\下的文件" Scores.txt",字符集为UTF-8 |
file("Scores.txt","192.168.0.20:9282") |
优先加载本机中位于主目录下的文件" Scores.txt"。 |
file("Scores1.txt":0,”192.168.0.20:9282”) |
本机没有Scores1.txt则加载位于分机192.168.0.20:9282的名称为0的数据区的文件"Scores1.txt"。 |