我正在尝试读取文本文件并将每一行存储到ArrayList中
但是,文本文件太长(大约2,000,000)行和错误: java.lang.OutOfMemoryError发生.
我如何知道arraylist是否已满,然后创建另一个arraylist来自动存储剩余的数据?
抱歉我的英语不好.
谢谢你的帮助.
最佳答案 200万行远远超出 Java Collection的最大大小(INTEGER.MAX_VALUE或20亿个索引).
您更有可能有堆空间outOfMemory错误.你也可以
>增加JVM最大堆内存分配.
java -Xmx4g
4g = 4GB.
The default maximum heap size is half of the physical memory up to a physical memory size of 192 megabytes and otherwise one fourth of the physical memory up to a physical memory size of 1 gigabyte.
http://www.oracle.com/technetwork/java/javase/6u18-142093.html
>正如konsolas建议的那样,逐行读取并将其存储到文件中并刷新变量.
希望能帮助到你!