【初心者のためのJava入門】ファイルを読み込む4つの方法を解説

Javaでファイルを読み込むにはどうすればいいの?
FileReader、FileInputStreamクラスとかあるけどどうやって使うの?
プロパティファイルを読み込むにはどうすればいいの?
エンコードを指定して読み込むにはどうすればいいの?

Javaではテキストファイルや画像を読み込んだり、プロパティファイル、文字コードを指定する方法など、ファイルを操作のためのクラスが用意されています。しかし、初心者にとってはファイルを読み込むにもいろいろ方法があったり、長ったらしい記述が必要で方法がよくわからない方も多いのではないでしょうか?

そこで、この記事ではファイルを読み込む4つの手順をそれぞれわかりやすく解説していきます。

  • 【基礎】FileReaderクラスでファイルを読み込む方法
  • 【基礎】FileInputStreamクラスでファイルを読み込む方法
  • 【発展】プロパティファイルを読み込む方法
  • 【発展】ファイルのエンコードを指定して読み込む方法

今回はそんなファイルの読み込み方法をわかりやすく解説します!

Javaでファイルを読み込む4つの方法

ここではJavaでファイルを読み込む方法について、用途別に4つの方法を解説していきます。

FileReaderクラスで読み込む方法

FileReaderクラスとは

ファイルを読み込む基本的な方法として、FileRederクラスがあります。

FileRederクラスは、まずFileクラスのオブジェクト生成時にコンストラクタの引数に読み込むファイルを指定します。次にFileReaderクラスのオブジェクト生成時に、コンストラクタの引数にFileクラスのオブジェクトを指定します。

FileReaderクラスは、Fileクラスのオブジェクトを引数に指定したオブジェクトを生成すれば、ファイル読み込みの準備は完了です。

ファイル読み込み時の注意点として、指定したファイルが存在しなかった場合、FileNotFoundExceptionの例外が発生します。

そのため、例外処理やFileクラスのexistsメソッドで、予めファイルの存在有無を確認してからファイルを読み込むようにしましょう。

FileReaderクラスの使い方

ここでは、実際にfilereaderクラスを使用して、ファイルを1文字ずつ読み込む方法を紹介します。

読み込むファイルは、予め任意のディレクトリに用意しておきます。

実行結果:

ファイルを1文字ずつ読み込むことができました!

ここで紹介したFileReaderクラスやBufferedReaderクラスのreadLineメソッドを使用して、ファイルを1行ずつ読み込む方法については、以下の記事で詳しく解説しています。

【Java】FileReader、BufferedReaderでテキストファイルを読み込む
更新日 : 2019年5月28日

FileInputStreamでbyte文字を読み込む方法

FileInputStreamとは

FileInputStreamクラスとは、ファイルの読み込みや書き込み、ファイルの作成などのさまざまなファイル操作を行うためのクラスです。

FileInputStreamクラスは、オブジェクト生成時にコンストラクタの引数にファイル名を指定します。

FileInputStreamクラスを使用すると、ファイルの内容はバイトストリームで読み込まれます。

FileInputStreamの使い方

以下にFileInputStreamクラスを使用して、ファイルをバイトストリームで読み込む方法を紹介します。

使用するファイルには”java”と記述しています。

実行結果:

ファイルをバイト文字で読み込むことができました!

紹介したFileInputStreamクラスの詳細や、バイトストリームを文字に変換する方法などについては、以下の記事で詳しく解説しています!

【Java入門】FileInputStreamでファイルを読み込む方法
更新日 : 2018年11月13日

プロパティファイルを読み込む方法

プロパティファイルとは、Javaプログラムで使用する定数や既定値、プログラムから読み込むファイルのパスなどの必要な情報を記載しておくためのファイルです。

プロパティファイルを活用することで、定数や既定値、ファイルパスの内容に変更が生じた場合も、プログラムを直接編集せずにファイルのみの変更で対応することが可能です。

そんなプロパティファイルの作成方法や読み込み方法については、以下の記事で詳しく解説しています!

【Java入門】プロパティファイルの読み込み方法(Properties)
更新日 : 2019年4月24日

ファイルの文字コード指定

ファイルに記述されている文字列は使用するプラットフォームによって、文字コードが異なる場合があります。使用する環境によって適切に文字列を文字コード化する作業のことを、エンコーディングといいます。

例えば、Windowsで作成したプログラムをLinuxなどのOSで動かした場合、日本語などの文字列が文字化けしてしまう可能性があります。そのため、異なるOSやプラットフォームでは、環境に合わせてエンコーディングを行う必要があります。

エンコーディングを確認する方法、ファイルの文字コードを指定・読み込み・変更する方法については、以下の記事で詳しく解説しています!

【Java】encodingを指定して読み書きする(CSV、テキストファイル)
更新日 : 2019年5月28日

ファイルの書き込み方法について知りたい方へ

ここでは、ファイルの読み込み方法についてご紹介しています。

ファイルの書き込み方法については、こちらで詳しく解説していますのでぜひ参考にして下さいね。

Javaでファイルに書き込み・出力する(新規/上書き/追記/文字コード)
更新日 : 2019年5月9日

まとめ

ここでは、Javaでファイルを読み込むための基本的な方法や、プロパティファイルの作成・読み込む方法、ファイルのエンコーディングを指定して読み込む方法などについて紹介しました。

実際のシステムでファイルを読み込む処理はよく使用しますので、ぜひ覚えておきましょう。

もし、Javaでファイルを読み込む方法を忘れてしまったら、この記事を思い出してくださいね。

Javaカリキュラム無料公開中!

この記事はJava入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Java学習に必要な情報を一つにまとめていますので効率よくJavaを学ぶことが出来ます。この機会に是非活用していただければと思います。

Java入門からアプリ開発まで未経験者が知っておくべき基礎を総ざらい
更新日 : 2019年5月22日

最短でJavaを習得したい方へ

もし、あなたが、

「難しすぎて学習が全然進まない」
「学習量が膨大でゴールが見えない」
「エラーを解決するのに何日もかかってしまう」

など、プログラミング学習やキャリアに関してお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_bannar-java2
LINEで送る
Pocket

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説