我有一个.txt文本文件,里面有几十万条数据,我要用BufferedReader读取进来做split()截取操作,截取完后再输出到一个新的文本文件里,但是一运行就报这个错误?是不是我内存不够用?我2G的。Exception in thread "Thread-0" java.lang.OutOfMemoryError: Java heap space
请教怎样解决?

解决方案 »

  1.   

        -Xms<size>        set initial Java heap size
        -Xmx<size>        set maximum Java heap size
      

  2.   

    两个方法:
    1、调大虚拟机内存  -Xmx
    2、每次只读一部分,处理一部分,写入一部分。RandomAccessFile
      

  3.   

    3楼说的没错,文件如果太大,一次性读取是会出现问题的。建议采取分段读取,对因为手机内存小,原来写手机阅读器时就是采用分段截取文本的方法。每一段进行split()处理后再通过FileOutputStream()写入新文本即可。