michadaniel
Grünschnabel
Hallo,
Ich wollte einen Algorithmus zum umbenennen von Ordnern und deren Unterordnern erstellen.
Zum Beispiel Habe ich in einem Verzeichnis einen Ordner namens "ja" und "hallo". Und im Ordner "ja" noch einen Unterordner namens "hallo". Jetzt will ich, dass alle Ordner namens "hallo" zu "TEST" umbenannt werden. Aber das funktioniert nur teilweise.
Ich hoffe das ist keine dumme Frage und ihr könnt mir helfen
Konsolen Output:
---VERZEICHNIS ERSTELLT---
---ERGEBNISSE---
C:\Users\Michadaniel\IdeaProjects\Tests\test\hallo
true
C:\Users\Michadaniel\IdeaProjects\Tests\test\hallo\nein\hallo
false
Ich wollte einen Algorithmus zum umbenennen von Ordnern und deren Unterordnern erstellen.
Zum Beispiel Habe ich in einem Verzeichnis einen Ordner namens "ja" und "hallo". Und im Ordner "ja" noch einen Unterordner namens "hallo". Jetzt will ich, dass alle Ordner namens "hallo" zu "TEST" umbenannt werden. Aber das funktioniert nur teilweise.
Ich hoffe das ist keine dumme Frage und ihr könnt mir helfen
Konsolen Output:
---VERZEICHNIS ERSTELLT---
---ERGEBNISSE---
C:\Users\Michadaniel\IdeaProjects\Tests\test\hallo
true
C:\Users\Michadaniel\IdeaProjects\Tests\test\hallo\nein\hallo
false
Java:
package misc;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class DirReplace {
static File[] dics = new File[5];
public static void main(String[] args) {
resetDirectorys();
String string = "hallo";
List<File> files = listDir(dics[0]);
System.out.println("---ERGEBNISSE---");
for (File f : files) {
if (f.getAbsolutePath().endsWith(string)) {
System.out.println(f.getAbsolutePath());
System.out.println(f.renameTo(new File(replace(string, "TEST", f.getAbsolutePath()))));
}
}
}
public static String replace(String suche, String ersatz, String str) {
int start = str.indexOf(suche);
while (start != -1) {
str = str.substring(0, start) + ersatz + str.substring(start + suche.length(), str.length());
start = str.indexOf(suche, start + ersatz.length());
}
return (str);
}
public static void resetDirectorys() {
dics[0] = new File("test");
dics[1] = new File("test/ja");
dics[2] = new File("test/hallo");
dics[3] = new File("test/hallo/nein");
dics[4] = new File("test/hallo/nein/hallo");
if (dics[0] != null) {
for (File f : dics) {
DirEdit.deleteDir(f);
}
}
dics[0].mkdir();
dics[1].mkdir();
dics[2].mkdir();
dics[3].mkdir();
dics[4].mkdir();
System.out.println("---VERZEICHNIS ERSTELLT---");
}
private static List<File> fileList = new ArrayList<>();
public static List<File> listDir(File dir) {
File[] files = dir.listFiles();
if (files != null) {
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
fileList.add(files[i]);
listDir(files[i]);
}
}
}
return fileList;
}
}
Anhänge
Zuletzt bearbeitet von einem Moderator: