16.2. 文件变量

概述

每当路由以文件或 FTP 消费者端点开头时,可以使用文件变量,这意味着底层消息正文为 java.io.File 类型。通过文件变量,您可以访问文件路径名称的不同部分,几乎就如同您调用 java.io.File 类的方法(事实上,文件语言从由 File 或 FTP 端点设置的消息标头中提取需要的信息)。

起始目录

某些文件变量返回相对于 起始目录 定义的路径,而这只是文件或 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

布尔值

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

file:absolute.path

字符串

文件的绝对路径名称.

file:length

Long

所引用文件的大小。

file:size

Long

file:length 相同。

file:modified

java.util.Date

最后修改日期。