mule - Anypoint Studio 和 Mule 中文件连接器文件路径字段的通配符是什么
问题描述
我正在使用 Anypoint Studio 7 和 Mule 4.1。
csv 格式的产品文件,其文件名包含当前时间戳,每天将添加到目录中,需要进行处理。为此,我们正在使用文件连接器创建 mule 工作流,并希望将文件路径字段配置为仅读取 csv 文件格式,而不管名称如何。
目前,我可以让它工作的唯一方法是在文件路径字段中指定文件名,如下所示:
C:/Workspace/product-files-v1/src/main/resources/input/products-2018112011001111.csv
当我想在类似于这样的文件路径中指定某种通配符时:
C:/Workspace/product-files-v1/src/main/resources/input/products-*.csv
但以上不起作用。
什么是正确的通配符语法,还有一种方法可以指定相对文件路径而不是绝对路径,因为当我尝试指定相对文件路径时我也会收到错误?
日志中的错误消息:
********************************************************************************
Message : Illegal char <*> at index 108: C:/Workspace/product-files-v1/src/main/resources/input/products-*.csv.
Element : product-files-v1/processors/1 @ product-files-v1:product-files-v1.xml:16 (Read File)
Element XML : <file:read doc:name="Read File" doc:id="fdbbf477-e831-4e7c-827c-71efd1d2e538" config-ref="File_Config" path="C:/Workspace/product-files-v1/src/main/resources/input/products-*.csv" outputMimeType="application/csv" outputEncoding="UTF-8"></file:read>
Error type : MULE:UNKNOWN
--------------------------------------------------------------------------------
Root Exception stack trace:
java.nio.file.InvalidPathException: Illegal char <*> at index 108: C:/Workspace/product-files-v1/src/main/resources/input/products-*.csv
谢谢你的帮助
解决方案
我假设<file:matcher>
当您想从目录中过滤或读取某些类型的文件时,您需要使用 a 。
一个例子是
<file:matcher
filename-pattern="a?*.{htm,html,pdf}"
path-pattern="a?*.{htm,html,pdf}"
/>
推荐阅读
- javascript - 渲染器的回调没有被调用,这是怎么回事?
- c - 嵌套在openmp中的lops
- jquery - 如何使用 ajax jquery 获取最终选择值?
- c - 在 C 中使用带有命令行参数的 system()
- html - 导航栏中的图标不会保持内联
- java - android studio中Firebase电话身份验证的空字符串错误
- python - 将烧瓶嵌入到带有装饰器的类中
- html - CSS:chrome-android中的全屏不尊重视口元
- java - javacc (ph-javacc-maven-plugin) 使用 case `\` 生成 java 开关
- ios - 如何在表格视图单元格的内容视图中居中 UILabel?