GB程度の大きなテキストファイルを読み込む必要があります。}}文字エンコーディングがないと仮定すれば、データをより速く読み取ることができます。ASCII-7でも大した違いはありません。データを使った作業にはもっと時間がかかる可能性が非常に高いです。編集:lineの漏洩の範囲を回避する、あまり一般的ではないパターンの使用。ブロックに配置する必要があります。Lawreyこのブログを見てください。Javaチュートリアルバッファサイズを指定するか、デフォルトのサイズを使用することができます。デフォルトのは、ほとんどのの目的に十分な大きさです。出たら(2014年3月)、ストリームを使えるようになります。process(line));}ファイル内のすべての行を印刷します。7より前のバージョンの文字セット指定のサポートを含むサンプルです。Java7では、try-with-resources構文を使用できます。デフォルトの文字セットだけが必要な場合は、InputStreamをスキップしてFileReaderを使用できます。}}これがGroovyバージョンで、完全なエラー処理があります。8では、次のことができます。}}いくつかの注:Files.linesによって返されるストリームは(ほとんどのストリームとは異なり)閉じる必要があります。私はforEach()を使わないようにします。lines::iteratorは、StreamをIterableにキャストします。Dubinskyあなたができることは、Scannerを使用してテキスト全体をスキャンし、テキストを1行ずつ移動することです。}}スキャナは基本的にすべてのテキストをスキャンします。whileループはテキスト全体をトラバースするために使用されます。.hasNextLine()関数は、テキストにまだ行が残っている場合にtrueを返すブール値です。.nextLine()関数はあなたがそれからあなたが望む方法を使うことができるStringとしてあなたにあなたの全体の行を与えます。テキストを印刷するためにSystem.out.println(line)を試してください。注意:.txtはファイルタイプのテキストです。iskandarchacraFileReaderではエンコーディングを指定できません。指定する必要がある場合はInputStreamReaderinsteadを使用してください。e.printStackTrace();}このファイルをWindowsからインポートした場合は、ANSIエンコード(Cp1252)になっている可能性があるので、エンコードを指定する必要があります。文書化してテストし、それからそれらを1KBから1GBのテストファイルで読むようにしてお互いに対抗しました。これは、1GBのテストファイルを読み取るための最速の3つのファイル読み取り方法です。パフォーマンステストを実行するとき、コンソールには何も出力しませんでした。テストが遅くなるためです。私は生の読書速度をテストしたいだけでした。7、8、9でテスト済み。これは全体的に最速の方法でした。1GBのファイルを読むことは一貫してちょうど1秒未満でした。1GBのファイルを読み込むのに約3.5秒かかりました。7、8、9で動作することがテストされています。これは、1GBのテストファイルを読み込むのに約4.5秒かかりました。完全なランキングを見つけることができます。使用する代わりの方法もあります。行を書くことができます。);}BufferedReaderによって読み込まれた各入力行に対してprocessLine()を呼び出します。BufferedReaderでreadLine()メソッドを使う必要があります。Message");}わたしにはできる。それがあなたにも役立つことを願っています。Ghatal私は通常、読むことを簡単にします。6以下を使用するレガシーコードでより高いパフォーマンスが得られました。mohsen.nourストリームを使ってより正確に行うことができます。ioを使うこともできます。iより速いのはなぜですか?JavaでInputStreamを読み込んでStringに変換する方法を教えてください。ファイルを作成してJavaで書き込む方法を教えてください。[]へのファイルエラーJava.lang.OutOfMemoryError:GCオーバーヘッド制限を超えましたJavaからフォルダ内のすべてのファイルを読み取る方法は?Next()またはnextFoo()を使用した後、スキャナがnextLine()をスキップしていませんか。