开发者社区 问答 正文

Java处理文件时,怎样做比较好呢?:报错

我目前的办法是先将文件中的内容全部读取出来保存到一个StringBuffer中,然后再从StringBuffer中解析内容,处理相应的业务?

假定文件一般为10M左右.

是否有其它好的方法呢?

展开
收起
kun坤 2020-06-07 22:22:01 462 分享 版权
1 条回答
写回答
取消 提交回答
  • 文件如果比较大,可能需要多加考虑,10M左右的文件,也不大,怎么方便怎么来。

    放StringBuffer里就挺好的,反正解析、处理结束,这部分内存就可以释放掉了。

    ######用Stream流式方式处理或Reader方式读一行处理一行,就和内存及文件大小没有关系了。不谢,给分就行。######

    这个关键还得看什么样的数据,是否需要完全读到内存里才能处理,还是可以一行行处理

    ######数据是数字和字母,######你一个Stringbuffer会占用10M的内存。至少五百万万个字。你为什么不能边读边处理呢,当然如果你内存够大,这也是可以的######回复 @liu13430 : 那你应该可以读到一条记录,然后一条记录一条记录的读,一条记录一条记录更新啊######文件中解析出来的内容需要更新到数据库中###### 我 一般用spring batch来批处理,可以处理10G大的文件都没问题######我试试去######

    为啥不拼成sql文件,

    数据库导入。

    ######读一点解析一点
    ######nio######使用通道(NIO)基本上想怎么玩就怎么玩######

    引用来自“悠悠然然”的评论

    用Stream流式方式处理或Reader方式读一行处理一行,就和内存及文件大小没有关系了。不谢,给分就行。
    好的,谢谢,
    2020-06-07 22:22:06
    赞同 展开评论
问答分类:
问答地址: