我目前的办法是先将文件中的内容全部读取出来保存到一个StringBuffer中,然后再从StringBuffer中解析内容,处理相应的业务?
假定文件一般为10M左右.
是否有其它好的方法呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
文件如果比较大,可能需要多加考虑,10M左右的文件,也不大,怎么方便怎么来。
放StringBuffer里就挺好的,反正解析、处理结束,这部分内存就可以释放掉了。
######用Stream流式方式处理或Reader方式读一行处理一行,就和内存及文件大小没有关系了。不谢,给分就行。######这个关键还得看什么样的数据,是否需要完全读到内存里才能处理,还是可以一行行处理
######数据是数字和字母,######你一个Stringbuffer会占用10M的内存。至少五百万万个字。你为什么不能边读边处理呢,当然如果你内存够大,这也是可以的######回复 @liu13430 : 那你应该可以读到一条记录,然后一条记录一条记录的读,一条记录一条记录更新啊######文件中解析出来的内容需要更新到数据库中###### 我 一般用spring batch来批处理,可以处理10G大的文件都没问题######我试试去######为啥不拼成sql文件,
数据库导入。
######读一点解析一点