我的要求是这样的。
需要将传入流文件(从 CSV 文件输入)内容保留在属性中以供进一步处理,因为我需要在使用流文件内容之前进行 HTTP 调用。因此,我尝试使用带有以下正则表达式的“ExtractText”处理器将流文件内容(CSV 数据)提取到属性中。
([^,]*?),([^,]*),([^,]*)
但这给出了第一行附加了第二行的第一列。但不是流文件中的全部 CSV 内容。如何将整个 CSV 内容放入属性中?
工艺流程如下:
GetFile --> ExtractText --> ReplaceText(为 post 方法构建 HTTP 正文)--> InvokeHTTP --> AttributeToJSON(将流文件从属性转换为 JSON 内容)--> InvokeHTTP(使用原始 CSV 数据)
也许你在问如何将传入的流内容存储到属性中!
为此,您可以使用 ExtractText 但使用正则表达式
(?s)(^.*$)
所以你将拥有属性名称:(?s)(^.*$)。
但是 - 请注意 ExtractText 缓冲区大小参数和组长度,如果您的流内容大于这些值(bufferszie 将排队,组长度将截断)。
一旦进入一个属性,它就会被推送到你的 JVM 中——如果它们很大的话,速度会很慢。
今天早上实际上正在查找这个,[^^]+为我们工作。