我有一个从HTTP请求接收的多部分文件。我需要读取这个文件,验证数据并将其写入数据库。
文件看起来像
aaaa@aaa.ru;Bogdan
文件包含500k行。我无法将文件保存到内存中,甚至不是临时文件。我只能处理来自HTTP请求的输入流或多部分文件。
我认为我需要使用多线程或可能是春季批处理,否则在写入数据库之前,我需要验证电子邮件,并获得一些数组列表的坏邮件。
你能帮我吗?最好的方法是什么?
p。Spring Batch需要文件,但是我不能将它存储在内存中。
@Bean
public FlatFileItemReader<Person> personItemReader() {
FlatFileItemReader<Person> reader = new FlatFileItemReader<>();
reader.setLinesToSkip(1);
reader.setResource(new ClassPathResource("/data/person.csv"));
我不能将文件保存到内存中,甚至不能保存临时文件-只能处理来自Http请求的输入流或多部分文件
FlatFileItemReader
适用于任何org.springframework.core.io.Resource
实现。因此,在您的情况下,您可以使用org.springframework.core.io.InputStreamResource
的实例与InputStream
的Multipart文件。