Löschen eine Datei in Java
Das Java-Paket NIO
wurde in der Java-7-Version eingeführt. Es bietet Dienstprogramm-APIs mit dem Namen Dateien
, um Dateien und Anweisungen zu manipulieren.
Wir werden dieses Paket verwenden, um Dateien zu löschen.
Löschen eine Datei mit Files.delete()
Das Paket java.nio.file
enthält die Java-Klasse Files
mit vielen statischen Methoden zum Ausführen von Operationen an Dateien, Verzeichnissen und anderen Typen.
Wir verwenden die Path
-Schnittstelle java.nio.files.Path
, um eine Path
-Instanz zu erstellen. Die Path
-Instanz wird mit der statischen Methode get()
innerhalb der Paths
-Klasse (java.nio.file.Paths
) erstellt.
Somit liefert der Aufruf von Paths.get()
eine Path
-Instanz. Diese Instanz stellt ein Objekt dar, das verwendet wird, um eine Datei im Dateisystem zu lokalisieren.
Wir übergeben den absoluten Pfad in einem String
-Format als Argument an die statische Methode get()
. Der absolute Pfad hier im Code ist /Users/Test/test1.txt
. Die Methode get() wandelt eine Folge von Strings in einen Pfadstring um.
Die statische Methode delete()
nimmt die Path
-Instanz und löscht die angegebene Pfaddatei. Wenn die Datei im angegebenen Pfad nicht existiert, wirft diese Methode NoSuchFileException
.
Wenn die Datei ein Verzeichnis ist, das nicht leer ist und nicht gelöscht werden konnte, kann es auch DirectoryNotEmptyException
werfen. Daher haben wir den Code in einen try-catch
-Block eingefügt.
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();
}
}
}
Löschen eine Datei mit Files.deleteIfExists()
Die Klasse Files
im Paket java.nio.file
enthält auch die Methode deleteIfExists()
, die eine Datei löscht, wenn diese Datei im angegebenen Pfad existiert. Diese Methode gibt einen booleschen Wert zurück.
Ist der Rückgabewert true
, wird diese Datei so gelöscht, wie sie unter dem Pfad bestand. Wenn die Dateien an diesem Ort nicht existieren, gibt diese Methode false
zurück, da sie nicht gelöscht werden konnten.
Wir speichern den booleschen Wert in der Variablen result und drucken die Ausgaben entsprechend. Wie im obigen Abschnitt besprochen, haben wir den Code in einen try-catch
-Block platziert, da diese Operation IOException
auslösen kann.
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();
}
}
}
Ausgabe:
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