bufferedreader.readline()内存溢出
时间: 2023-08-30 10:12:23 浏览: 423
java代码-BufferedReader()总的readLine()函数,注意不需要强制类型转换读取值,用比较字符转函数equals();判断取值是否符合结束条件。
`BufferedReader.readLine()` 内存溢出通常是因为要读取的数据量太大,超出了 JVM 分配给程序的内存限制。要解决这个问题,可以考虑以下几个方案:
1. 增加 JVM 分配给程序的内存。这个可以通过修改启动脚本或命令行参数来实现,比如增加 `-Xmx` 参数的值。
2. 分批读取数据。如果要读取的数据量很大,可以考虑分批读取,每次只读取一部分数据,处理完后再读取下一批数据,直到全部读取完成。
3. 使用 `RandomAccessFile` 代替 `BufferedReader`。如果要读取的数据是文本文件,可以考虑使用 `RandomAccessFile` 来代替 `BufferedReader`,`RandomAccessFile` 可以随机访问文件,不需要一次性读取全部数据。
4. 使用 `BufferedInputStream` 代替 `BufferedReader`。如果要读取的数据不是文本文件,可以考虑使用 `BufferedInputStream` 来代替 `BufferedReader`,`BufferedInputStream` 可以读取二进制数据,不需要一次性读取全部数据。
阅读全文