【发布时间】:2015-06-21 01:56:21
【问题描述】:
我正在尝试读取大文件(大约 516mb),它有 18 行文本。我尝试自己写下代码,但在尝试读取文件时第一行代码出错:
try(BufferedReader br = new BufferedReader(new FileReader("test.txt"))) {
String line;
while ((line = br.readLine()) != null) {
String fileContent = line;
}
}
注意:文件存在且大小约为 516mb。 如果有另一种更安全、更快的阅读方法,请告诉我(即使它会换行)。 编辑: 在这里我尝试使用扫描仪,但它持续时间更长,然后给出同样的错误
try(BufferedReader br = new BufferedReader(new FileReader("test.txt"))) {
Scanner scanner = new Scanner(br);
while(scanner.hasNext()){
int index = Integer.parseInt(scanner.next());
// and here do something with index
}
}
我什至将文件拆分为 1800 行,但没有得到任何修复
【问题讨论】:
-
是否需要将整个文件加载到内存中?
-
@higuaro 是的。我想对该文件进行排序
-
@higuaro 或者有没有办法通过循环单独读取该文件?
-
@user3260312 您有一个包含
516M和18 行的文件要排序?您要对哪种类型的文本进行排序? -
@UwePlonus 0-100 之间用空格分隔的随机数。我已经知道该怎么做,但是这个 OutOfMemoryError 毁了我的程序
标签: java string algorithm file