messageReadLine

Version 24.3.9111


messageReadLine


逐行读取和枚举消息项的内容,并从消息中逐行返回。

可选的参数

  • separator:决定每一行的分隔符。默认值是换行符(\n)。
  • encoding:用于将消息数据解码为字符串的编码。允许的值由所使用的 JVM/OS 决定。大多数操作系统和 JVM 通常支持的编码值包括UTF-8ASCIIBASE64Hexwindows-1252ISO-8859-2。默认值为 UTF-8

输出属性

  • line: 从消息中推送出去的数据的行号。
  • data:消息中的行数据。

示例

仅将第一行的 ARCESB 替换为 CData Arc

<!-- 初始化该项目并保存除第一行以外的消息数据 -->
<arc:set attr="restof.data" value="" />
<!-- 调用 messageReadLine 并设置 output 项 -->
<arc:call op="messageReadLine" out="result" >
  <!-- 当从消息数据中获取到第一行的内容后执行替换操作 -->
  <arc:if exp="[result.line] == 1">
    <arc:set attr="first.line" value="[result.data | replace('ArcESB','CData Arc')]" />
    <arc:else>
      <!-- 将输出消息的数据设置为修改后的第一行,然后和其余消息数据的串联 -->
      <arc:set attr="output.data" value="[first.line][restof.data]\n[result.data]" />
    </arc:else>
  </arc:if> 
</arc:call>
<arc:set attr="output.filepath" value="[FilePath]" />
<arc:push item="output" />