1

特定のトークンが見つかるまで、テキスト ファイルを 1 行ずつ処理していると (思います)。

(Psuedo Code)

Scanner scanner = new Scanner(new FileReader("myTextFile.txt");
while (scanner.hasNext() {
    boolean found = process(scanner.nextLine();
    if (found) return;
}

一部のファイルは巨大です。このコードは実際にファイルを 1 行ずつスキャンしますか、それとも Scanner または FileReader がファイル全体をメモリに読み込み、メモリ バッファを 1 行ずつ処理しますか?

4

3 に答える 3

0
Path filePath = Paths.get("myTextFile.txt");
boolean found = false;
try (BufferedReader br = Files.newBufferedReader(filePath, CharSet.forName(<char-set-name>)){
   for (String line = br.readLine(); line != null; line = br.readLine()) {
     found = process(line);
     if (found){
        break;
     };
   }
}
于 2013-05-24T13:30:43.537 に答える