我正在使用Oracle SOA Suite B2B组件来处理EDIFACT文件。我需要处理一个+2 2Gb的文件,但它不能一次全部处理。我需要将文件拆分成较小的文件,然后处理它们。有没有什么Java应用程序可以帮助我解决这个拆分问题??
或者,如果我尝试开发它,应该如何设置较小的EDIFACT文件的格式,以便能够对它们进行预处理?
谢谢,
发布于 2014-02-23 07:39:43
EDIFACT交换文件由段组成。每个段都以段分隔符结束。因此,编写一个小程序将文件拆分为两个或更多更小的部分是非常容易的。请注意,可以在第一个段(UNA)中选择段分隔符。
但是,这种拆分会影响EDIFACT文件的整体结构。需要对交换/消息结构的了解才能找到可行的拆分位置。
EDIFACT交换的整体结构看起来像follows
Service String Advice UNA Optional
+----- Interchange Header UNB Mandatory
| +--- Functional Group Header UNG Conditional
| | +- Message Header UNH Mandatory
| | | User Data Segments As required
| | +- Message Trailer UNT Mandatory
| +--- Functional Group Trailer UNE Conditional
+----- Interchange Trailer UNZ Mandatory如果您的大文件包含许多邮件(以UNH开头,以UNT段结尾),则可以沿邮件边界拆分,并添加人工UNB/UNZ信封。
https://stackoverflow.com/questions/21922839
复制相似问题