【Java】FileReaderクラスを使ってテキストファイルを読み込む!

テキストファイルを読み込むにはFileReaderクラスを使用します。

FileReaderクラスは、テキストファイルを読み込むクラスとなります。

そのため、BufferedReaderクラスをセットで使用すると、読み込み処理の効率が上がるので、FileReaderクラスを使用する場合はBufferedReaderクラスを組み合わせて使用しましょう。

今回はFileReaderクラスを使って、テキストファイルの読み込みを行います。

また、Java7から使用できるようになったFileクラスのreadAllLinesメソッドを使って、テキストファイルを読み込む方法についても紹介していきます。

FileReaderクラスとは

FileReaderクラスとは、テキストファイルを読み込むためのクラスで、テキストファイルの内容を元にした処理などを行うために使用します。
また、ファイルは文字のストリームで読み込まれます。

FileReaderクラスの書き方

FileReaderクラスの構文は下記となります。

FileReaderクラスをインポートすることで、FileReaderクラスで準備されているメソッドが使用できるようになります。

また、BufferedReaderクラスを使用すると、読み込み処理の効率が上がるので、FileReaderクラスを使用する場合はBufferedReaderクラスもインポートしておきましょう。

テキストファイルを読み込むサンプルコード

ファイル/ディレクトリの名前を変更するサンプルコードを紹介します。

Reader.txtは、「C:¥study」以下に用意します。
そして、Main.javaを実行します。

Reader.txt

Main.java

出力結果

・北海道、東北地方
北海道
青森県岩手県秋田県宮城県山形県福島県

FileReaderクラスのreadLineメソッドによって「Reader.txt」の内容が読み込まれます。

NIO.2(Filesクラス)でテキストファイルを読み込む場合

NIO.2とはJava7で導入された「java.nio.file」パッケージとそのサブパッケージとを合わせたものであり、NIO.2のFilesクラスを使用することでとても簡単にファイル処理を行うことができます。

そのため、Filesクラスでテキストファイルを読み込むにはreadAllLinesメソッドを使用します。

readAllLinesメソッドは第1パラメータに読み込み元のパスを、第2パラメータに文字コードを指定すると、テキストファイルをすべて読み込み、1行を1要素として格納した「List」が戻されます。
なお、第2パラメータは省略可能です。

Reader.txt

Main.java

出力結果

・北海道、東北地方
北海道
青森県岩手県秋田県宮城県山形県福島県

今回のポイント

FileReaderでテキストファイルを読み込む

テキストファイルを読み込むにはFileReaderクラスを使用する。

⚫︎ 「FileReader」クラスを使用することで、テキストファイルからデータを読み込む

⚫︎ FileReaderクラスを使用する場合は、読み込み処理の効率を上げるために「BufferedReader」クラスを使用と一緒に使用してバッファリングしながら読み込む

⚫︎ FileReaderクラスをラップする形でBufferedReaderクラスを作成し、BufferedReaderクラスのrendLineメソッドを呼び出すことで、行単位で読み込むことができ、ファイルの終端まで読み込んでさらに読み込もうとすると、readLineメソッドでは「null」を返す

⚫︎ テキストファイルからデータを読み込むには、最後にBufferedReaderクラスのcloseメソッドを呼び出し、「BufferedReader」インスタンス、「FileReader」インスタンスのリソースを解放する

⚫︎ FilesクラスのreadAllLinesメソッドをでもテキストファイルを読み込むことができる

関連記事

FileWriterクラスを使ってテキストファイルを書き込む方法についてはこちらをご参考ください。

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し