Dies ist mein Code. Damit wähle ich eine Fahrt aus und sage in diesem Fall F-Antrieb. Bei der Ausführung versuche ich, eine Datei in diesem Ordner zu löschen, obwohl die Datei (wenn sie korrekt eingegeben wurde) gelöscht wird, aber delete() gibt false zurück. Darf ich wissen warum?Löschen einer Datei mit dem Namen der Erweiterung in JAVA
System.out.println("Enter file to be deleted:");
String del = sc.nextLine(); //give file name as string with extension
File delFile = new File(del); //convert string to file type
for (File fs: listOfFiles) {
if (fs.getName().compareTo(delFile.getName()) == 0) {
System.out.println(fs.getName());
System.out.println("Inside loop");
boolean dele = fs.delete();
System.out.println("Successful/unsucceful: " + fs.getName() + "..." + fs.delete());
} else
System.out.println("invalid : " + fs.getName());
}
verwenden besser 'Files.delete()' stattdessen verwenden - das wirft eine ** Ausnahme **, wenn das Löschen schief geht - und das gibt Ihnen mehr Einblick als "falsch". – GhostCat
Nur als Nebenbemerkung. Ich würde einfach 'fs.getName(). Equals (delFile.getName())' anstelle von 'compareTo' verwenden. – Christian