Löschen eine Datei in Java

Rupam Yadav 12 Oktober 2023
  1. Löschen eine Datei mit Files.delete()
  2. Löschen eine Datei mit Files.deleteIfExists()
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 Yadav avatar Rupam Yadav avatar

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

Verwandter Artikel - Java File