1. ホーム
  2. java

[解決済み] ファイル内の行数を効率的に取得する方法を教えてください。重複

2023-05-11 23:51:57

質問

私は大きなファイルを持っています。それはおよそ3.000から20.000行を含んでいます。Javaを使用してファイル内の行の総数を取得するにはどうすればよいですか?

どのように解決するのですか?

BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
int lines = 0;
while (reader.readLine() != null) lines++;
reader.close();

更新しました。 ここで提起されたパフォーマンスに関する質問に答えるために、私は測定を行いました。最初に:20.000行は、顕著な時間のためにプログラムを実行するために、あまりにも少ないです。私は500万行のテキストファイルを作成しました。この解決策(-serverや-XX-optionsのようなパラメータなしでjavaで起動)は、私のボックス上で約11秒を必要としました。同じように wc -l (行数を数えるUNIXコマンドラインツール)でも同じで、11秒でした。一文字ずつ読んで '\n' を探す解決策は 104 秒を必要とし、9-10 倍になりました。