Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ApacheCamel控制台输入_Java_Apache Camel - Fatal编程技术网

Java ApacheCamel控制台输入

Java ApacheCamel控制台输入,java,apache-camel,Java,Apache Camel,我正在尝试制作一个小程序,它接收控制台输入,例如用户名、学校和其他信息,然后创建一个文件,该文件的文件名就是用户的文件名。然后,每个文件将位于以学校命名的文件夹中。我不确定如何创建具有这些特性的文件,因为Camel似乎在读取任何输入之前确定路径和文件名。有没有办法解决这个问题?文件组件页面上有这样一个示例: // set the output filename using java code logic, notice that this is done by setting // a spec

我正在尝试制作一个小程序,它接收控制台输入,例如用户名、学校和其他信息,然后创建一个文件,该文件的文件名就是用户的文件名。然后,每个文件将位于以学校命名的文件夹中。我不确定如何创建具有这些特性的文件,因为Camel似乎在读取任何输入之前确定路径和文件名。有没有办法解决这个问题?

文件组件页面上有这样一个示例:

// set the output filename using java code logic, notice that this is done by setting
// a special header property of the out exchange
exchange.getOut().setHeader(Exchange.FILE_NAME, "report.txt");
您可以用希望使用的文件名替换report.txt

对于目录,不能将目录名存储在头中并从端点引用它:

.to("file://${headers.directory}");

更多信息请点击此处:

感谢您的回复。文件名部分工作正常。但是,我不知道如何使目录工作。当我试图设置目录时,它会导致异常<不允许使用带有${}占位符的代码>动态表达式。使用“文件名”选项设置动态表达式。在org.apache.camel.model.routedDefinition.addRoutes(routedDefinition.java:910)我想不起来了。我没有使用
to(Endpoint)
而是使用了
recipientList(simple(${header.directory}”)