Spring Batch FlatFileItemWriter 不将数据写入文件

Sau*_*nde 5 file filewriter spring-batch

我是 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();
Run Code Online (Sandbox Code Playgroud)

这只是在正确的位置生成文件,但内容并未写入文件中。

我错过了什么吗?非常感谢您的帮助。

谢谢!

mik*_*kep 2

您可能需要强制同步到磁盘。从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
Run Code Online (Sandbox Code Playgroud)