我是Spring Batch应用程序的新手。我正在尝试使用FlatFileItemWriter
将数据写入文件。挑战是应用程序在给定路径上创建文件,但现在将实际内容写入其中。
以下是与代码相关的详细信息:
List<String> dataFileList :
此列表包含我要写入文件的数据
FlatFileItemWriter<String> writer = new FlatFileItemWriter<>();
writer.setResource(new FileSystemResource("C:\\Desktop\\test"));
writer.open(new ExecutionContext());
writer.setLineAggregator(new PassThroughLineAggregator<>());
writer.setAppendAllowed(true);
writer.write(dataFileList);
writer.close();
这只是在适当的位置生成文件,但内容没有写入文件。
我错过了什么吗?非常感谢帮助。
谢谢!
答案 0 :(得分:2)
这不是使用Spring Batch Writer和writer数据的正确方法。你需要先声明Writer的bean。
看看以下示例:
答案 1 :(得分:1)
您可能需要强制同步到磁盘。来自https://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/item/file/FlatFileItemWriter.html的文档,
setForceSync
public void setForceSync(boolean forceSync)
Flag to indicate that changes should be force-synced to disk on flush. Defaults to false, which means that even with a local disk changes could be lost if the OS crashes in between a write and a cache flush. Setting to true may result in slower performance for usage patterns involving many frequent writes.
Parameters:
forceSync - the flag value to set