我在Spring Batch中有一个简单的要求,如下所示:
1)通过 Reader从文件系统中读取文件列表。
读者应返回列表,其中 File
对象,并且不包含文件内容
3)将单个项目作为File
对象
在网上搜索后,我发现了很多实现,但是它们是
返回文件的内容( FlatFileItemReader ),而不返回File Object
我正计划采用以下实现:
此实现看起来不错吗?
需要从NULL
返回Reader
,因为reader's read method
将被循环调用,直到Reader returns NULL
处理器必须在处理完成后从文件系统中删除文件
这样从NULL
返回Reader
应该可以工作
public class Reader implements ItemReader<List<File>>{
@Override
public List<File> read() throws Exception {
List<File> fileList = // read from file system
if(fileList != null && !fileList.isEmpty()){
return fileList;
}else{
return null;
}
}
public class Processor implements ItemProcessor<File,File>
{
public File process(File inputFile) throws Exception
{
// process the file
//delete the file in the end
}
}