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 提供接口(interface)
org.springframework.batch.item.file.transform.LineAggregator
用于将线映射到对象。但我想知道为什么没有FixedLengthLineAggregator
这样做?Spring-Batch 中将对象写入字段具有固定长度的行的正确方法是什么?
最佳答案
正如@canillas 在他们的评论中指出的那样,管理这个的方法是通过 Spring Batch 的 FormatterLineAggregator
.使用 String.format
的格式功能可以允许您以跨 JVM 和框架独立的标准方式生成固定长度的记录。
关于java - Spring-Batch:将对象写入固定长度的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47325636/