我有一些文件应该根据每行开头的id进行排序.文件大约2-3 GB.
我试图将所有数据读入ArrayList并对它们进行排序.但记忆力还不足以让他们全部保留.这是行不通的.
线条看起来像
0052304 0000004000000000000000000000000000000041 John Teddy 000023
0022024 0000004000000000000000000000000000000041 George Clan 00013
我怎样才能对文件进行排序?
我经常使用Scanner类来读取文件,因为它非常方便.
String inputFileName;
Scanner fileScanner;
inputFileName = "input.txt";
fileScanner = new Scanner (new File(inputFileName));
Run Code Online (Sandbox Code Playgroud)
我的问题是,上面的语句是否一次将整个文件加载到内存中?或者对fileScanner进行后续调用
fileScanner.nextLine();
Run Code Online (Sandbox Code Playgroud)
从文件中读取(即从外部存储器而不是从内存中读取)?我问,因为我担心如果文件太大而无法一次性读入内存会发生什么.谢谢.