Java ApacheCamel控制台输入
我正在尝试制作一个小程序,它接收控制台输入,例如用户名、学校和其他信息,然后创建一个文件,该文件的文件名就是用户的文件名。然后,每个文件将位于以学校命名的文件夹中。我不确定如何创建具有这些特性的文件,因为Camel似乎在读取任何输入之前确定路径和文件名。有没有办法解决这个问题?文件组件页面上有这样一个示例: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
// 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}”)