我有一个文件入站端点
,其中将输入管道分隔的文件。文件的第一行是 header ,其余是记录。平均有 40K 条记录,文件大小接近 7MB。我需要将此文件转换为 XML 结构(文件中的 header 与 XML 元素不同)。
将此文件转换为 XML 的好方法是什么?我编写了一个组件
,它采用输入流
,逐行读取文件,对其进行标记,创建并写入 XML 文件。但在这种情况下,我要长时间保持文件连接打开,并且我必须注意关闭文件流并移动文件进行备份。
想知道还有什么其他方法可以做到这一点?有没有人使用Data Mapper
来实现类似目的?
最佳答案
DataMapper 的 Mule 文档指出,如果您在 DataMapper 配置中设置“streaming”属性,“DataMapper 可以仅使用大约 75 MB 的 RAM 来解析 500 MB 的 CSV 文件”。管道分隔符算作 CSV,因为您可以配置分隔符。您还可以将其设置为忽略标题行。我会选择 DataMapper,如果出现问题,会发布另一个问题,并且只有在失去所有希望时才恢复到自定义组件。
关于java - 如何在 mule 中将具有数千条记录的管道分隔文件转换为 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22487110/