kann das Verzeichnis nicht über Java löschen

8

In meiner Anwendung habe ich den Code geschrieben, um das Verzeichnis vom Laufwerk zu löschen, aber wenn ich die Löschfunktion von Datei überprüfe, löscht es die Datei nicht. Ich habe so etwas geschrieben

%Vor%

das Verzeichnis wird nicht verwendet, es kann das Verzeichnis nicht löschen

    
Vipul 21.10.2010, 13:28
quelle

5 Antworten

18

In Java ist das Löschen von Verzeichnissen nur für leere Verzeichnisse möglich, was zu folgenden Methoden führt:

%Vor%

Dieser löscht Ihren Ordner, auch wenn er nicht leer ist, ohne Probleme (außer wenn dieses Verzeichnis vom Betriebssystem gesperrt ist).

    
Riduidel 21.10.2010, 13:32
quelle
13

Warum ein Rad mit Methoden zum rekursiven Löschen erfinden? Werfen Sie einen Blick auf Apache Commons io. Ссылка

%Vor%

ODER

%Vor%

Das ist alles was du brauchst. Es gibt auch viele nützliche Methoden, um Dateien zu manipulieren ...

    
Ilja S. 21.10.2010 13:55
quelle
2

Blick auf die Dokumente:

  

Wenn dieser Pfadname ein Verzeichnis angibt, muss das Verzeichnis leer sein, damit es gelöscht werden kann.

Haben Sie sichergestellt, dass das Verzeichnis leer ist (auch keine versteckten Dateien)?

    
user268396 21.10.2010 13:35
quelle
1

Das Verzeichnis muss leer sein, um es zu löschen. Wenn es nicht leer ist, müssen Sie es rekursiv mit File.listFiles () und File.delete ()

löschen     
iirekm 21.10.2010 13:32
quelle
1

Zwei weitere Möglichkeiten (neben dem Verzeichnis nicht leer):

  • Der Benutzer, der das Java-Programm ausführt, hat keine Schreib- / Löschberechtigung für das Verzeichnis
  • Das Verzeichnis wird von einem anderen Prozess verwendet / gesperrt (Sie schreiben, dass es nicht ist, aber wie haben Sie das bestätigt?)
Michael Borgwardt 21.10.2010 13:32
quelle

Tags und Links