0

我想操作一个大文本文件,它以 TEXT 形式出现,并想使用 smooks 来操作它。文本文件包含大量行。从每一行中,我必须拆分字符并从中获取信息。

例如:我在 java 中进行以下操作;

row.substring(0, 4) 
row.substring(4, 64) 

我必须将文本内容转换为 CSV 文件。

  • 我们也可以在 smooks 中进行完全相同的字符串操作吗?(那是在 smooks 配置中我可以这样做吗?)我相信我可以为此使用固定长度处理?

  • 如何在 smooks 配置中添加 IF ELSE 条件?就像在java中一样;

    if (row.length() == 900) { //做 }else(){ //做 }

4

2 回答 2

1

我们可以使用固定长度的 reader[1] 进行字符串操作。但我仍然没有找到进行条件检查的方法。

例如:如果/否则

[1] http://www.smooks.org/mediawiki/index.php?title=V1.4:Smooks_v1.4_User_Guide#XML

于 2014-05-17T03:28:32.857 回答
0

如果格式不适合平面文件阅读器,那么您可以使用正则表达式阅读器:https ://github.com/smooks/smooks/tree/v1.5.1/smooks-examples/flatfile-to-xml-regex /

至于有条件的东西......你真的需要将数据片段绑定到某种Java模型(真实或虚拟)中,然后通过在正在应用的访问者上添加元素或通过路由处理片段来有条件地处理这些片段将它们转移到另一个并行处理它们的进程,这是处理大量数据流的更好方法。

于 2014-05-28T11:00:01.617 回答