【Java入門】ファイルやフォルダを削除する方法

Javaでファイルやフォルダを削除する方法について記載します。

ファイルやフォルダを削除する方法

ファイル・フォルダを削除するには、いくつかのメソッドがあり、削除失敗時に詳細情報が取得できるものと、できないものがあります。

メソッド一覧

No クラス メソッド 戻り値 特徴
1 File delete boolean 戻り値
true:削除成功
false:削除失敗

削除に失敗した場合、詳細情報は取得できません。

2 Files delete void 削除失敗時に例外が返ります。
例外から削除に失敗した詳細情報を取得できます。

例えば、次の例外が返ります。
java.nio.file.NoSuchFileException
ファイルが存在しないため削除に失敗。

java.nio.file.DirectoryNotEmptyException
フォルダが空じゃないため削除に失敗。

3 Files deleteIfExists boolean 削除対象が存在する場合のみ、削除します。

戻り値
true:削除成功
false:削除失敗(削除対象が存在しない)

また、削除対象が存在しない以外で削除できない場合は、Files.deleteと同様に例外が返ります。

個人的には、削除に失敗した理由が分かる、Filesクラスの delete や deleteIfExists メソッドの使用をオススメします。

1.Fileクラスのdeleteメソッドを使用した場合

ファイル( /Users/dir/a.txt )の削除を行います。

実行例( ファイルを削除 )

次にフォルダ( /Users/dir )の削除を行います。

フォルダを削除する場合、フォルダが空の必要があります。
フォルダ内にファイル・サブフォルダがあると削除に失敗します。

実行例( フォルダを削除 )

2.Filesクラスのdeleteメソッドを使用した場合

Filesクラスのdeleteメソッドでは、削除失敗時に例外が返ります。
なので削除失敗時の処理は、例外をキャッチして行います。

次の例では、ファイル( /Users/dir/a.txt )の削除を行います。

実行例( ファイルを削除 )

次にフォルダの削除を行います。
Fileのdeleteメソッドと同じく、フォルダが空じゃない場合は、削除に失敗します。
Fileのdeleteメソッドの場合は、false が返りますが、Filesのdeleteメソッドの場合は、例外が返ります。

実行例( フォルダを削除 )

3.FilesクラスのdeleteIfExistsメソッドを使用した場合

FilesクラスのdeleteIfExistsメソッドでは、削除対象が存在する場合のみ削除を行います。

次の例では、ファイル( /Users/dir/a.txt )が存在する場合のみ削除を行います。

実行例( ファイルを削除 )

次にフォルダの削除を行います。
Fileのdeleteメソッドと同じく、フォルダが空じゃない場合は、削除に失敗します。
Fileのdeleteメソッドの場合は、false が返りますが、Filesのdeleteメソッドの場合は、例外が返ります。

実行例( フォルダを削除 )

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする