阅读FlatFile时转义/替换特殊字符

时间:2017-10-17 14:11:31

标签: spring-batch

我将itemWriter配置为TAB作为分隔符

@Bean
    public ItemWriter<ObjectFileRow> objectItemWriter() {

        ......
        delLineAgg.setDelimiter(";");
        .......
        return writer;
    }

我有一些lignes包含&#34 ;;&#34;

的数据
391494  2013    1       9-820   9-2510  &uml;PR Tesme
391495  2013    0       9-9849  9-2510  PR  Hello

当ligne 1是wirten时,这里的问题我将得到如下结果:

391494;2013;1;9-820;9-2510;&uml;PR Tesme

这里的问题是这些文件将使用其他程序进行测试,这个程序正在寻找6 records,但正如您所看到的那样,他将&uml;PR Tesme视为两个记录。

将此记录;中的&uml;PR Tesme替换为&uml PR Tesme的最佳方法是什么。

  • 使用正则表达式重新定义,以便在有读取操作时转义记录中的所有;
  • 处理器验证记录是否包含;,然后将其替换为space
  • 还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

处理器应该处理记录,业务逻辑应该存在于处理器中。因此,处理器应检查记录中是否有任何错误,然后修复它或绕过它。