【发布时间】:2012-05-07 08:47:26
【问题描述】:
我经常使用 Scanner 类来读取文件,因为它非常方便。
String inputFileName;
Scanner fileScanner;
inputFileName = "input.txt";
fileScanner = new Scanner (new File(inputFileName));
我的问题是,上述语句是否一次将整个文件加载到内存中?或者对 fileScanner 进行后续调用,例如
fileScanner.nextLine();
从文件中读取(即从外部存储而不是从内存中读取)?我问是因为我担心如果文件太大而无法一次全部读入内存会发生什么。谢谢。
【问题讨论】:
-
答案是否定的。但它是按缓冲区读取文件的——这意味着以块的形式。