Ich bin (relativ) neu in Java und ich versuche, eine .jar zu implementieren, die eine Liste von Befehlen ausgeführt wird, dass Eingabeaufforderung in Windows XP Befehl wäre es:Löschen Sie alle Dateien mit einer Erweiterung mit Hilfe von Java
cd\
cd myfolder
del *.lck /s
My (nicht) Versuch:
// Lists all files in folder
File folder = new File(dir);
File fList[] = folder.listFiles();
// Searchs .lck
for (int i = 0; i < fList.length; i++) {
String pes = fList.get(i);
if (pes.contains(".lck") == true) {
// and deletes
boolean success = (new File(fList.get(i)).delete());
}
}
schraubte ich irgendwo um dieses "get (i)", aber ich denke, dass ich jetzt mein Ziel ziemlich nahe bin.
Ich bitte um Ihre Hilfe und vielen Dank im Voraus!
EDIT
In Ordnung! Vielen Dank, alle zusammen. Mit den 3 vorgeschlagenen Änderungen endete ich mit:
// Lists all files in folder
File folder = new File(dir);
File fList[] = folder.listFiles();
// Searchs .lck
for (int i = 0; i < fList.length; i++) {
String pes = fList[i];
if (pes.endsWith(".lck")) {
// and deletes
boolean success = (new File(fList[i]).delete());
}
}
Und jetzt funktioniert es!
Es gibt keine 'get' Methode eines Arrays, was bedeutet, dass' fList.get (i) 'nicht kompiliert wird. Um stattdessen auf das Objekt "i" in einem Array zuzugreifen, führen Sie 'fList [i]' aus. – Vulcan
könnte besser sein ändern pes.contains (". Lck") mit pes.endsWith (". Lck") –
Sie sollten auch ['endsWith (...)'] (http://docs.oracle.com/ javase/6/docs/api/java/lang/String.html # endsWith (java.lang.String)) anstelle von ['enthält (...) '] (http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#contains (java.lang.CharSequence)), außer du möchtest Dinge wie * myfile.lck. exe * muss ebenfalls gelöscht werden. –