java - Spring Batch:从 txt 文件中读取并将所有行作为单个字符串返回给处理器
问题描述
我正在尝试从 Spring Batch 中的文件中读取文本,但我需要所有行作为单个字符串到达.processor
而不是逐行。我.setRecordSeparatorPolicy
在FlatFileItemReader
. 有没有其他方法可以实现这一目标?也许是另一种阅读器之类的?
任何帮助将非常感激
public ItemStreamReader<String> stringReader() throws IOException {
Resources[] resources.. // load files here
MultiResourceItemReader<String> reader = new MultiResourceItemReader<String>();
reader.setResources(resources);
reader.setDelegate(flatFileItemReader()); //sets FlatFileIteamReader
return reader;
}
@Bean
public TaskletStep managerStep() throws Exception {
return managerStepBuilderFactory.get("managerStep")
.<String, String>chunk(6)
.reader(stringReader())
.processor(myProcessor()) //all lines as 1 String here per File
.writer(doSomething())
.build();
}
解决方案
块处理模型是为面向项目的用例设计的。如果您只有一个项目,我看不到使用面向块的步骤的任何附加价值。一个简单的tasklet更合适。
推荐阅读
- node.js - 信任自签名证书 | 表示
- encryption - 无法通过 ARM 模板将 CMK 加密应用于 Azure 存储帐户
- node.js - 在 Web 应用程序身份验证中集成外部指纹传感器
- python - 从另一个数据帧中删除数据帧,该数据帧是第一个数据帧的过滤子集
- python - 您可以在 Windows 上运行 Sagemaker Python SDK 吗?
- sql - 在 Postgres 函数中使用的条件 IN 语句
- visual-studio-code - 如何在标签组之间同步搜索词?
- python-3.x - 使用多字符分隔符将数据帧保存到文件
- monetdb - MonetDB 全盘如何手动释放空间
- python - 绘制具有重复值的数据帧