![](/img/trans.png)
[英]Mule 3.5.0 - Read large dat file and map to csv (in Mule CE)
[英]How to take in a sample DAT file and break each record by its header in Mule?
我正在嘗試將示例 DAT 文件放入 Mule 應用程序中。
SEC.DAT
D1030325 ADFSA 12321.00 XXXX
A1354610 AEWTF 94332.00 AAAA
V1030325 ADFSA 12321.00 XXXX
我對這個平台還很陌生,對如何在這種情況下構建流程有些迷茫,但我的目標是打破每條記錄的初始值。
例子:
其中示例 D、A 和 V 是條件。
預期產出:
SEC1.DAT
D1030325 ADFSA 12321.00 XXXX
SEC2.DAT
A1354610 AEWTF 94332.00 AAAA
SEC3.DAT
V1039325 AOFSA 12321.00 XXYF
這是關於處理文件的 Mule 應用程序。 該平台的 rest 對這個特定問題沒有影響。
假設它是一個固定長度文件但不使用 DataWeave 固定長度功能,您可以將輸入文件視為單個字符串(即格式 text/xml)。
首先,您可以使用 DataWeave 轉換將記錄拆分為行尾:
%dw 2.0
output application/java
---
payload splitBy "\n"
之后有一個<foreach>
循環遍歷每條記錄。 在<foreach>
的主體內有一個<choice>
路由器到 select,output 文件根據記錄的第一個字符寫入。 條件示例: $[0] == "A"
。 然后在<choice>
的那個分支中,只需將 append 寫入記錄列表或直接寫入文件(附加)。
請注意,如果添加任何類型的並發,直接寫入將無法按預期工作,因為重疊寫入可能會損壞 output。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.