Spring-Batch提供了FixedLengthTokenizer类,这使得将一行的不同偏移量读取到对象的文件中变得很容易。由此从具有固定长度的特定范围中提取每个字段的内容:
FixedLengthTokenizer tokenizer = new FixedLengthTokenizer();
String[] names = {"A", "B", "C", "D"};
tokenizer.setNames(names);
Range[] ranges = {new Range(1, 4), new Range(5, 12), new Range(13, 14), new Range(15, 15)};
tokenizer.setColumns(ranges);我想要做完全相反的事情。我想要将一个对象写入到一个平面文件中,因此不同的字段应该以固定的长度写入该文件中。Spring-Batch提供了将行映射到对象的接口org.springframework.batch.item.file.transform.LineAggregator。但我想知道为什么没有这样做的FixedLengthLineAggregator?
在Spring-Batch中将对象写到行中的正确方式是什么,即字段具有固定长度?
发布于 2020-06-16 23:42:23
正如@canillas在他们的评论中指出的那样,管理这一点的方法将是通过Spring Batch的FormatterLineAggregator。使用String.format的格式化功能可以让您以一种跨JVM和独立于框架的标准方式生成固定长度的记录。
https://stackoverflow.com/questions/47325636
复制相似问题