从 FTP 目录下载所有文件,运行 遇到转义空格问题

Downloading all files from a FTP directory, running into problems with escaping spaces

我将我的骆驼配置为从特定 FTP 目录下载所有文件。现在这一切都很容易,一切似乎都运行良好。但是,当文件名称中包含 space(例如 File 123.csv 时,我会 运行 出错。我知道我可以专门针对带有转义字符的文件。唯一的困难是这些文件本质上是动态的并且每天都在变化,所以我不知道哪些文件可能有或没有 spaces。 我想我可以只读取所有文件 URI 并从那里进行调整。但是我想知道是否有任何特定于 Camel 的方法来处理这个问题。

错误:java.lang.IllegalArgumentException: Illegal character in path at index 60: hdfs://test.net/user/CamelTests/File Layout.csv

GenericFileOnCompletion        - Rollback file strategy: org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@fe8d1b for file: RemoteFile[File Layout.csv]

骆驼代码

from("{{ftp.serverLP}}/Memo/Loss?username=ftp&password=pass")
    .to("hdfs2://Test.net/user/CamelTests/?fileSystemType=HDFS")
    .log("Downloaded file ${file:name} complete.");

尝试更改 .to(..) 以使用非 HDFS 文件系统。

发布的错误似乎表明文件复制到的目标 (HDFS) 有问题,而不是 FTP 源。