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