Java spring批量随机访问一个文件,实现二进制搜索
我正在实施一个spring批处理程序,我的场景是Java spring批量随机访问一个文件,实现二进制搜索,java,file,spring-batch,Java,File,Spring Batch,我正在实施一个spring批处理程序,我的场景是 我有一个名为A的文件,它有一个名为RollNumber的唯一键域 卷号按排序顺序排列(ASC) 我想得到的行的rollNumber为:101 是否有可能在此基础上实现任何搜索算法 我可以使用Itemreader读取文件并找到行,但问题是我有100万条记录要处理,因此时间复杂度非常高。 i) 线性搜索需要更多的时间,因为文件有大量的数据 因为记录是按键排序的,实现这种事情的自然方式是,但我不确定是否可以使用springbatch Spring批处理
i) 线性搜索需要更多的时间,因为文件有大量的数据
因为记录是按键排序的,实现这种事情的自然方式是,但我不确定是否可以使用
springbatch
Spring批处理的意义在于读取整个文件并以某种方式进行处理,而不是“跳转”到文件中去做一些特定的事情。对于此类操作,您应该实现自己的机制(但是,如果此操作必须在Spring Batch
过程的范围内执行,则可以在Tasklet
实例中实现)
事实上,FlatFileItemReader
实现的ItemReader
包含方法
public void setLinesToSkip(int linesToSkip) {
this.linesToSkip = linesToSkip;
}
但是仍然-跳过这些行之后,在这个Spring批处理过程中,这些行将不允许您返回或跳过另一行