嗨,我正在使用以下代码使用FileUtils.readLines
Apache commons IO 库中的功能获取字符串列表中的所有行。这是我的代码,
List<String> lines=FileUtils.readLines(new File(fileName));
但是,每当我发送一个包含 100 万行的 45MB 文件时,它都会给我一个内存不足的错误。应该怎么解决。我需要处理每一行。
一行一行地读
LineIterator it = FileUtils.lineIterator(file, "UTF-8");
try {
while (it.hasNext()) {
String line = it.nextLine();
// do something with line
}
} finally {
it.close();
}
这是因为您正在运行 32 位而不是 64 位的环境,并且也没有使用 VM 参数,如下所示:
-d64 -Xmx6G
IOUtils.toString((InputStream) new FileInputStream("C://exocerebro//userrecord.sql"), "UTF-8");