Heim >Java >javaLernprogramm >Wie lösche ich Dateien oder Ordner in Java?
Mit den folgenden vier Methoden können alle Dateien oder Ordner gelöscht werden.
Was sie gemeinsam haben ist:
Wenn der Ordner Unterdateien enthält, schlägt das Löschen fehl, was bedeutet, dass diese vier Methoden nur leere Ordner löschen können.
//delete führt den Löschvorgang sofort aus, während deleteOnExit das Programm löscht, wenn es die virtuelle Maschine verlässt.
delete()
deleteOnExit() der Dateiklasse
: Wenn die virtuelle Maschine beendet wird, löschen Sie die durch das Dateiobjekt dargestellte Datei oder das Verzeichnis. Wenn es sich um ein Verzeichnis handelt, ist dies der Fall erforderlich Stellen Sie sicher, dass das Verzeichnis leer ist, andernfalls kann es nicht gelöscht werden und es gibt keinen Rückgabewert. File类的deleteOnExit()
:当虚拟机终止时,删除File对象表示的文件或目录,如果表示的是目录,需要保证目录是空的,否则无法删除,无返回值。
Files.delete(Path path)
Files.delete(Path path)
: Dateien löschen, die sich auf dem als Parameter übergebenen Pfad befinden. Für andere Dateisystemvorgänge ist diese Methode möglicherweise nicht atomar. Wenn es sich bei der Datei um einen symbolischen Link handelt, wird der symbolische Link selbst gelöscht und nicht das endgültige Ziel des Links. Wenn es sich bei der Datei um ein Verzeichnis handelt, löscht diese Methode die Datei nur, wenn das Verzeichnis leer ist. Files.deleteIfExists(Path path)
Es ist zu beachten, dass:
Die File-Klasse im traditionellen IO und die Path-Klasse in NIO können sowohl Dateien als auch Ordner darstellen. Ein einfacher Vergleich der oben genannten vier Methoden ist nicht leer und führt zu einem Fehler.delete() der Dateiklasse. Traditionelles IO | Traditionelles IO, das ist eine Falle, vermeiden Sie es. Es ist nicht möglich,Void , zu verwenden, aber wenn keine Existenz vorhanden ist, wird der Löschvorgang nicht ausgeführt | |||
---|---|---|---|---|
Files.Delete (PATH PATH) | ||||
Void | nosuchFileException | directemPTYEPTION | Files.deleteIfExists(Path path) | |
zu verwenden | wahrfalsch | DirectoryNotEmptyException | ||
Unterschied: | - | -File.delete() | Files.delete(Pfadpfad) |
JDK
Source | java.io.File-Objekt Instanzmethode von | |
---|---|---|
Parameter | Keine Parameter | java.nio.file.Path |
Rückgabewert | boolean | void |
Ausnahmedeklaration | Keine Deklaration | Deklaration löst java.io.IOException aus |
Die Datei tut es nicht vorhanden | Keine Ausnahme auslösen, false zurückgeben | Java.nio.file.NoSuchFileException auslösen |
Nicht leeres Verzeichnis löschen | Löschen nicht möglich, false zurückgeben | Löschen nicht möglich, java.nio.file auslösen. DirectoryNotEmptyException |
Belegte Dateien löschen | Kann nicht gelöscht werden, gibt false zurück | Kann nicht gelöscht werden, java.nio.file.FileSystemException auslösen |
Die Datei kann aus anderen Gründen nicht gelöscht werden | Keine Ausnahme auslösen, zurückgeben false | Wirf eine bestimmte Unterklasse von java.io.IOException aus |
Das obige ist der detaillierte Inhalt vonWie lösche ich Dateien oder Ordner in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!