2016年10月4日火曜日

Pathの機能(ファイルの削除)

みなさん。 こんばんは。

今日はJava SE 7/8 でのファイルの削除について見ていきましょう。

Java SE 6 までのファイル削除はFileクラスのdeleteメソッドを使っていました。

Java SE 7/8 からは削除対象ファイルのパスを生成しFilesクラスのdeleteメソッドを使用します。

詳しく見てみましょう。

// 削除対象ファイル
Path path = Paths.get("C:/Users/var.txt");
// 削除
Files.delete(path);

尚、削除対象が存在しない場合は、java.nio.file.NoSuchFileExceptionがスローされ、

書き込み権限が無い場合は、SecurityExceptionがスローされます。

その他の例外はIOExceptionがスローされます。

また、削除対象が存在するかどうかチェックを行い、存在する場合のみ削除を行う

deleteIfExistsメソッドがあります。

ディレクトリの削除は、ディレクトリが空の場合のみ削除可能で、もし、ファイルが存在する場合は

java.nio.file.DirectoryNoEmptyExceptionがスローされます。

空では無いディレクトリを削除するには、ファイルのツリーをたどり、最も階層の深いファイルから

順々に削除してファイルの削除が終わってからディレクトリを削除します。

ディレクトリを再帰的に削除していく方法はまた今度見ていきましょう。

それではまた!
人気ブログランキングへ

0 件のコメント:

コメントを投稿