16.2. 文件变量

概述

只要路由以文件或 FTP 消费者端点启动,都可以使用文件变量,这意味着底层消息正文为 java.io.File 类型。文件变量可让您访问文件路径名称的各种部分,几乎就像您调用 java.io.File 类的方法(实际上,文件语言从文件或 FTP 端点设置的消息标头中提取所需信息)。

开始目录

一些文件变量返回路径相对于 起始目录 而定义,这只是在 File 或 FTP 端点中指定的目录。例如,以下文件消费者端点具有起始目录 ./filetransfer (相对路径):

file:filetransfer

以下 FTP 使用者端点具有起始目录 ./ftptransfer (相对路径):

ftp://myhost:2100/ftptransfer

文件变量命名规则

通常,文件变量使用 java.io.File 类上对应的方法命名。例如,file:absolute 变量提供 java.io.File.getAbsolute() 方法返回的值。

注意

但是,这个命名规则不严格。例如,没有java.io.File.getSize() 这样的方法。

变量表

表 16.1 “文件语言的变量” 显示文件语言支持的所有变量。

表 16.1. 文件语言的变量

变量类型描述

file:name

字符串

相对于起始目录的路径名称.

file:name.ext

字符串

文件扩展名(在路径名称中的最后一个 . 字符后面加上字符)。支持多个点的文件扩展,如 .tar.gz。

file:name.ext.single

字符串

文件扩展名(在路径名称中的最后一个 . 字符后面加上字符)。如果文件扩展名有 mutiple 点,则此表达式仅返回最后一部分。

file:name.noext

字符串

相对于起始目录的路径名称,省略文件扩展名。

file:name.noext.single

字符串

相对于起始目录的路径名称,省略文件扩展名。如果文件扩展具有多个点,则此表达式仅剥离最后一个部分,并保留其他内容。

file:onlyname

字符串

路径名称的最终部分。也就是说,文件名没有父目录路径。

file:onlyname.noext

字符串

路径名称的最后一个部分,省略文件扩展名。

file:onlyname.noext.single

字符串

路径名称的最后一个部分,省略文件扩展名。如果文件扩展具有多个点,则此表达式仅剥离最后一个部分,并保留其他内容。

file:ext

字符串

文件扩展名(与 file:name.ext一样)。

file:parent

字符串

父目录的路径名,包括路径中的起始目录。

file:path

字符串

文件路径名称,包括路径中的起始目录。

file:absolute

布尔值

true,如果将起始目录指定为绝对路径,则为 false,否则为 false。

file:absolute.path

字符串

文件的绝对路径名。

file:length

Long

所引用文件的大小。

file:size

Long

文件相同:长度.

file:modified

java.util.Date

上次修改日期.