JavaのFileクラスをマスター!基礎から便利な使い方まで総まとめ

Javaでファイルの読み込み・書き込みの方法が知りたい
ファイルのコピーや必要なファイルの一覧を取得したい

JavaではFileクラスを使用して、さまざまなファイル操作ができるメソッドが用意されています。Fileクラスを使用することでファイルの読み込みや書き込み、コピーなどの操作が可能になります。

そのため、ファイル操作の基本的な機能は、Fileクラスのメソッドで可能と言っても良いでしょう。

この記事では、そんなファイルクラスについて、以下の内容で解説していきます。

  • Fileクラスの基本的な使い方
  • ファイルの読み込み・書き込み
  • ファイルをコピーする方法
  • ファイルの一覧を取得する方法
  • ファイルの区切り文字を指定する方法

今回はそんなFileクラスの使い方について、わかりやすく解説します!

JavaのFileクラスとは

JavaにおけるFileクラスは、ファイルやディレクトリの作成・削除、ファイルの読み込み・書き込み、ファイルのチェック処理、実行権の確認など、ファイルに関するさまざまなメソッドが用意されています。

また、Fileクラスはファイルの読み込み・書き込みの際に使用されるFileReaderクラス、FileWriterクラスなどのオブジェクト生成時の引数としても使用されます。

ファイルクラスを使用するには「import java.io.File」のパッケージを指定します。

Fileクラスの宣言は以下のように記述します。

インスタンスの引数にはファイル名を指定します。

絶対パス・相対パスを指定することが可能で、ファイルのパスから記述することができます。

ファイルクラスの各メソッドを使用するには、「file.メソッド名」の形式が基本です。

以下にFileクラスの使用例として、existsメソッドを使用して、ファイルが存在するか確認する簡単なサンプルを紹介します。

紹介したサンプルでは作成したFileクラスのオブジェクトに対して、existsメソッドを使用してファイルの存在有無を確認しました。このようにnew演算子を使用して、Fileクラスのオブジェクトを生成しておけば、Fileクラスで用意されているさまざまなメソッドを使用することが可能です。

次項より、Fileクラスのさまざまなメソッドについて、紹介しています。

JavaのFileクラスの基本的な使い方

ここではFileクラスで用意されているさまざまなファイル関連の機能を紹介します。

Fileクラスの基本的な機能は、以下の記事でも詳しく解説しています。

ファイルやディレクトリを作成

ファイルを作成するためにはFileクラスのcreateNewFileメソッドを使用します。

createNewFileメソッドはboolean型の値を返します。

createNewFileメソッドは、以下のように記述します。

Fileクラスのインスタンスの引数には作成するファイル名を指定ます。

ファイルのディレクトリを作成するには、mkdirメソッドを使用します。

mkdirはboolean型の値を返します。

mkdirは、以下のように記述します。

Fileクラスのインスタンスの引数には作成するディレクトリ名を指定します。

ファイルやディレクトリの作成方法の詳細や更新日時を取得する方法については、以下の記事で詳しく解説しています!

絶対パスや相対パスを指定して、ファイルを作成する方法や、ファイルのパスを取得する方法については、以下の記事で詳しく解説しています!

ファイルを削除する

不要なファイルを削除するには、Fileクラスのdeleteメソッドを使用します。

deleteメソッドは、boolean型の値を返します。

deleteメソッドは、以下のように記述します。

Fileクラスのインスタンスの引数には削除するディレクトリ名を指定します。

ファイルの削除方法の詳細やディレクトリの削除方法、再帰的に削除する方法については、以下の記事で詳しく解説しています!


【Java入門】Fileの削除(delete、強制削除、拡張子の指定)
更新日 : 2017年8月23日

ファイルの存在を確認

Fileクラスは、指定したファイルが存在しないと例外が発生するため、事前に目的のファイルが存在するか、確認しておいたほうが良いと言えます。ファイルやフォルダの存在有無を確認するにはexistsメソッドを使用します。

existsメソッドはboolean型の値を返します。

existsメソッドは以下のように記述します。

existsメソッドの使い方や詳細、Java7で追加されたjava.nio.file.Filesクラスのexistsメソッドの使い方については、以下の記事で詳しく解説しています!

ファイルを読み込む方法

ファイルを読み込むためには、FileReaderクラスやFileInputStreamクラスを使用します。

FileReaderクラスを使用すると、テキストファイルの内容を1文字ずつ取得することができます。

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

そんなファイルの読み込み方法については、以下の総まとめ記事で詳しく解説しています!

ファイルに書き込む方法

ファイルに文字列を書き込むためには、書き込むファイルを指定するFileWriterクラスと、ファイルの書き込み操作などを行うPrintWriterクラスを使用します。

また、バイナリデータをファイルに書き込む場合には、BufferedOutputStreamクラスを使用します。BufferedOutputStreamクラスのオブジェクト生成時には、インスタンスの引数にFileOutputStreamクラスを指定します。

ファイルに書き込む方法の詳細については、以下の記事で詳しく解説しています!

ファイルをコピーする方法

ファイルをコピーするためには、java.io.FileクラスのFileInputStreamクラスとFileOutputStreamクラスを使用する方法があります。

また、FileChannelクラスのtransferToメソッドを使用することでもファイルをコピーすることが可能です。

ファイルをコピーする詳細については、以下の記事で詳しく解説しています!

ファイルを移動する方法

ファイルを移動するには、renameToメソッドを使用します。ファイル名を同じにして、フォルダ名を変更することで移動することになります。

実行結果:

ファイルの一覧を取得する方法

指定したディレクトリに含まれるファイルやディレクトリの一覧を取得したい場合は、FileクラスのlistFilesメソッドを使用します。

listFilesメソッドは、配列の値を返します。

listFilesメソッドを使用すれば、Fileクラスのオブジェクトに、指定したパスに存在するファイルやディレクトリが格納されます。

ファイルやディレクトリの一覧を取得する詳細については、以下の記事で詳しく解説しています!

【Java入門】FileのlistFilesでファイルを検索して一覧を取得
更新日 : 2019年4月17日

ファイルの区切り文字

ファイルセパレータ(区切り文字)とは、ファイルやディレクトリの指定で、ディレクトリとファイルを区切るときに使用する、「¥」「\」「/」などの文字のことを指します。

ファイルの区切り文字はOSごとに指定方法が異なります。

そんな区切り文字の詳細や区切り文字を置換する方法については、以下の記事で詳しく解説しています!

ファイル操作総まとめ

ファイル操作の詳しい使い方はこちらの記事で詳しく解説しているので、ぜひ確認してください。

【Java入門】Fileクラスでファイル操作をする方法まとめ
更新日 : 2019年6月6日

まとめ

ここでは、Fileクラスを使用してファイルの作成・削除、読み込み・書き込みなどさまざまなファイル操作について解説しました。JavaではFileクラスを使用して、さまざまなファイル操作が可能です。

もし、Fileクラスの使い方を忘れてしまったら、この記事を思い出してくださいね。

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

侍テック編集部

侍テック編集部

おすすめコンテンツ

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

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