file()

阅读(1065) 标签: file,

本章介绍file()函数的多种用法。

file(fn:cs)

描述:

打开指定文件名的文件。

语法:

file( fn{:cs})

备注:

打开文件名为fn的文件

参数:

fn

加载的文件名,可使用绝对路径或者相对路径。如果使用相对路径,则相对主目录,主目录为集算器选项菜单里配置的主目录,主目录缺省为当前目录(脚本文件打开的目录)

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(fn:cs,h)

描述:

从分机中返回远程文件

语法:

file( fn:cs,h)

备注:

返回分机h中的远程文件fn,文件可读可写,和本地文件相同。

参数:

fn

加载的文件名,可使用绝对路径或者相对路径。如果使用相对路径,则相对主目录。

cs

字符集,支持的字符集是jvm自带的字符集。缺省则为操作系统默认值。

h

分机

返回值:

文件对象

示例:

 

A

 

1

=file("D:/City.txt":"UTF-8",["192.168.46.1:8281"])

返回分机192.168.46.1:8281D:/目录下的City.txt文件,字符集为UTF-8

2

=A1.import@t()

读取文件内容

3

=file("tmp.txt",["192.168.31.165:8281"])

返回分机192.168.31.165:8281中主目录下的tmp.txt文件

4

>A3.write("hello word!")

向文件中写入字符串"hello word!"

file(fn:cs,hs)

描述:

从分机序列中返回远程文件。

语法:

file( fn:cs,hs)

备注:

返回分机序列hs中的远程文件fn,返回的文件只读;优先在本地寻找,本地找不到时根据分机序列成员顺序寻找。

参数:

fn

加载的文件名,可使用绝对路径或者相对路径。如果使用相对路径,则相对主目录。

cs

字符集,支持的字符集是jvm自带的字符集。缺省则为操作系统默认值。

hs

分机序列

返回值:

文件对象

示例:

 

A

 

1

=file("City.txt":"UTF-8",["192.168.46.1:8281","192.168.31.165:8281"])

从分机序列["192.168.46.1:8281","192.168.31.165:8281"]的主目录下查找City.txt文件返回,字符集为UTF-8

2

=A1.read()

读取文件内容

 

file(fn,f)

描述:

通过已有的集群文件生成与其相同分布的新集群文件。

语法:

file(fn,f)

备注:

用与集群文件f相同的分布生成集群文件fn,并且存放在与f相同的分机中。

参数:

fn/f

集群文件,仅支持组表

返回值:

集群文件

示例:

 

A

 

1

=file("emp.ctx",["192.168.0.104:8281"])

192.168.0.104下寻找emp.ctx并打开为集群文件对象

2

=file("emp_1.ctx",A1)

在与emp.ctx相同的分机下,生成与emp.ctx相同分布的集群文件emp_1.ctx

3

=A2.create(#EID,GENDER)

 

file(fn:z)

描述:

通过组表文件返回带分表号的文件或文件组

语法:

file(fn:z)

备注:

通过组表文件fn返回带分表号z的文件或文件组,文件名格式为z.fn,当z为整数时返回文件,当z为整数数列时返回文件组。

参数:

fn

组表文件

z

整数或整数数列

返回值:

组表文件名称或文件组对象

示例:

 

A

 

1

=file("emp1.ctx":1)

生成组表文件1.emp1.ctx

2

=A1.create(#EID,NAME,SALARY;1)

 

3

=file("emp.ctx":[2,3,4])

生成文件组,包含的文件分别为2.emp.ctx3.emp.ctx4.emp.ctx

4

=A3.create(#EID,NAME,SALARY)

 

file(fn:z,hs)

描述:

在分机中产生集群(组)文件

语法:

file(fn:z,hs)

备注:

在分机hs中产生集群文件,z为分表号,当z为整数数列时产生集群组文件。

参数:

fn

组表文件

z

分表号,整数或整数数列

hs

分机或分机序列

选项:

@w

远程可写入文件,zhs一一对应,z省略为to(hs.len())

返回值:

集群文件

示例:

 

A

 

1

=file("emp.ctx",["192.168.31.165:8281"])

在分机中产生集群文件

2

=A1.open()

打开集群表

3

=A2.memory()

生成集群内表

4

=A2.close()

关闭集群表

 

fn为文件组:

 

A

 

1

=["192.168.126.1:8281","192.168.31.165:8281"]

分机序列

2

=file("emCp.ctx":[2,3],A1)

在分机中产生集群组文件

3

=A2.open()

打开集群组文件

4

=A2.close()

关闭集群组文件

 

远程写入组表文件:

 

A

 

1

=["192.168.126.1:8281","192.168.31.165:8281"]

分机序列

2

=file@w("emp.ctx":to(2),A1)

在分机中产生集群组文件

3

=create(k1,v1).record([1,10,2,20,3,30,4,40,10,100])

返回序表

4

=A2.create(#k1,v1;if(k1<4,1,2))

创建复组表

5

=A4.append(A3.cursor())

A3的数据追加到复组表A4

 

 

file(fn:z,f)

描述:

用与集群组文件相同的分布生成新的集群组文件。

语法:

file(fn:z,f)

备注:

用与集群组文件f相同的分布生成新的集群组文件fnz为分表号,z省略用f相同值。

参数:

fn

新的集群组文件

z

分表号,整数或整数数列

f

集群组文件

返回值:

集群组文件

示例:

 

A

 

1

=["192.168.126.1:8281","192.168.31.165:8281"]

分机序列

2

=file("emCp.ctx":[2,3],A1)

返回集群组文件

3

=file("embak.ctx",A2)

生成与A2相同分布的集群组文件,参数z省略,默认与A2中相同,即[2,3]