Java でファイルを削除する
Java NIO
パッケージが Java7 バージョンで導入されました。ファイルと方向を操作するための Files
という名前のユーティリティ API を提供します。
このパッケージを使用してファイルを削除します。
Java で Files.delete()
を使用してファイルを削除する
java.nio.file
パッケージには、ファイル、ディレクトリ、およびその他のタイプの操作を実行するための多くの静的メソッドを備えた Java Files
クラスが含まれています。
Path
インターフェース java.nio.files.Path
を使用して Path
インスタンスを作成します。Path
インスタンスは、Paths
クラス(java.nio.file.Paths
)内の静的メソッド get()
を使用して作成されます。
したがって、Paths.get()
を呼び出すと、Path
インスタンスが提供されます。このインスタンスは、ファイルシステムでファイルを見つけるために使用されるオブジェクトを表します。
静的メソッド get()
への引数として、文字列
形式で絶対パスを渡します。ここでのコードの絶対パスは/Users/Test/test1.txt
です。get()メソッドは、文字列のシーケンスを変換してパス文字列を形成します。
静的メソッド delete()
は Path
インスタンスを取得し、指定されたパスファイルを削除します。指定されたパスにファイルが存在しない場合、このメソッドは NoSuchFileException
をスローします。
ファイルが空ではなく削除できなかったディレクトリである場合、DirectoryNotEmptyException
をスローすることもあります。したがって、コードを try-catch
ブロック内に配置しました。
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class FileTest {
public static void main(String[] args) {
String file_name = "/Users/Test/test1.txt";
Path path = Paths.get(file_name);
try {
Files.delete(path);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Java で Files.deleteIfExists()
を使用してファイルを削除する
java.nio.file
パッケージ内の Files
クラスには、メソッド deleteIfExists()
も含まれています。このメソッドは、指定されたパスにファイルが存在する場合にファイルを削除します。このメソッドはブール値を返します。
戻り値が true
の場合、このファイルはパスに存在していたため削除されます。その場所にファイルが存在しない場合、このメソッドは削除できなかったため、false
を返します。
ブール値を変数 result に格納し、それに応じて出力を出力します。上記のセクションで説明したように、この操作では IOException
がスローされる可能性があるため、コードを try-catch
ブロック内に配置しました。
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
class FileTest {
public static void main(String[] args) {
String file_name = "/Users/Test/test.txt";
Path path = Paths.get(file_name);
try {
boolean result = Files.deleteIfExists(path);
if (result) {
System.out.println("File is deleted!");
} else {
System.out.println("Sorry, could not delete the file.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
出力:
File is deleted!
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn