Dateinamen ändern

Status
Nicht offen für weitere Antworten.

manuche

Bekanntes Mitglied
Hallo,

ich schreibe mir grad ein Tool mit dem man Dateinamen bereinigen kann. Dazu lese ich Laufwerke und Ordner des PCs aus und stelle Sie in einem JTree dar.
Die Knoten des Trees werden mit einem eigenen Objekt belegt, welches ein File (das entsprechende in der Ordnerhierarchie) beinhaltet.
Nun soll auf Knopfdruck der Dateiname bereinigt werden. Das klappt soweit auch ganz gut, denn die Datei wird auf der Platt umbenannt. Allerdings würde ich auch gerne den Tree aktualisieren. Hier der entsprechende Quelltext:
Code:
	public int editSelection() {
		TreePath currentSel = this.data.getSelectionPath();
		if (currentSel != null) {
			DefaultMutableTreeNode node = (DefaultMutableTreeNode) currentSel.getLastPathComponent();
			Object userO = node.getUserObject();
			File f;
			if (userO instanceof DirFile) {
				DirFile dirFile = (DirFile) userO;
				f = dirFile.getFile();
				if (!f.isDirectory()) {
					String oldName = f.getName();
					String newName = f.getName().replace("_", " ");
					String newPath = f.getAbsolutePath().replace(oldName, newName);
					try {
						File cleaned = new File (newPath);
						if (f.renameTo(cleaned)){
							//node.setUserObject(new DirFile (f));
							this.data.repaint();
							return Tree.FILE_CLEANED;
						}else{
							return Tree.ERROR_CLEANING_FILE;
						}
					}catch(SecurityException e) {
						return Tree.ERROR_CLEANING_FILE;
					}
				}else {
					File[] subFiles = f.listFiles();
					for (File file : subFiles) {
						if (!file.isDirectory()) {
							// TODO 
						}
					}
				}
			}
		}
		return Tree.NOTHING_HAPPENED;
	}
In Zeile 16 wird die Datei auf der Platte korrekt geändert, allerdings ändert sich nicht die URI aus der File-Referenz.
Muss ich mich da selbst drum kümmern, dass sie geändert wird?
Gruß
 

Verjigorm

Top Contributor
Dein File f ist nach dem umbenennen nutzlos, da es nichtmehr auf die Datei refenziert, sondern quasi auf die "alte nichtmehr vorhandene Datei"
Danach hilft dir nur dein "cleaned", dort sollte die Referenz korrekt dargestellt werden.
 

manuche

Bekanntes Mitglied
Ok Danke... Bin eigentlich davon ausgegangen, dass dann automatisch auf die umbenannte Datei referenziert wird!
Mal knapp am Tehma vorbei: Kann man die TreeNodes ohne größeren Aufwand nach Ordner und Datei sortieren?
 

Verjigorm

Top Contributor
manuche hat gesagt.:
Ok Danke... Bin eigentlich davon ausgegangen, dass dann automatisch auf die umbenannte Datei referenziert wird!

Davon bin ich vor einigen Wochen auch ausgegangen, ist aber nicht so, wobei es doch praktisch ist, falls man mal was zurückbenennen möchte ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Dateinamen mit Zahl um eins erhöhen Allgemeine Java-Themen 16
lewbue Eclipse Eclipse Dateinamen in Hieroglyphen Allgemeine Java-Themen 4
B Stringmanipulationen beim Dateinamen Allgemeine Java-Themen 8
G Datei aus Ordner wählen, ohne den Dateinamen im Pfad angeben zu müssen Allgemeine Java-Themen 4
S Alle Dateinamen ermitteln Allgemeine Java-Themen 22
Elyt Compiler-Fehler Datei kann nicht erstellt werden. Die Syntax für den Dateinamen etc. ist falsch. Allgemeine Java-Themen 2
MiMa Illegal char im Dateinamen Allgemeine Java-Themen 14
MiMa Umlaute beim Einlesen von Dateinamen Allgemeine Java-Themen 12
R Besondere Zeichen in Dateinamen Allgemeine Java-Themen 4
I FTP Probleme mit Umlauten in Dateinamen Allgemeine Java-Themen 5
W Dateinamen dynamisch Parsen Allgemeine Java-Themen 12
9 Dateinamen erfassen und vergleichen Allgemeine Java-Themen 6
M Charset Encoding für Dateinamen Allgemeine Java-Themen 4
J Dateinamen beim Start auslesen Allgemeine Java-Themen 10
S Problem mit / im Dateinamen Allgemeine Java-Themen 3
G Syntax für den Dateinamen Allgemeine Java-Themen 1
T Konvertieren zu gültigen Dateinamen Allgemeine Java-Themen 10
G Linux Dateinamen Charset Probleme Allgemeine Java-Themen 8
C Dateinamen auslesen? Allgemeine Java-Themen 23
F Alle Files im Ordner nach Dateinamen durchsuchen Allgemeine Java-Themen 28
P Dateinamen mit regulärem Ausdruck testen Allgemeine Java-Themen 9
P Dateinamen testen? Schreibrechte auf Verzeichnis testen? Allgemeine Java-Themen 8
torresbig Klasse mit extends Calendar über Methoden ändern (Hirnblockade) Allgemeine Java-Themen 7
B Liste ändern während Iteration über Diese? Allgemeine Java-Themen 16
N Fahrtrichtung eines selbstfahrenden Auto ändern Allgemeine Java-Themen 3
Z Java Testklassenvariable ändern im Hauptprogramm Allgemeine Java-Themen 5
L Uhrzeit von 24-Uhr zu 12-Uhr ändern Allgemeine Java-Themen 2
Thallius Zeitzone zu einem LocalDate hinzufügen aber ohne es zu ändern... Allgemeine Java-Themen 2
N Speicherort einer Datei im Explorer ändern Allgemeine Java-Themen 8
W Classpath Reflexion - Prüfen ob man auf ein Feld ändern kann Allgemeine Java-Themen 2
J Jasper Reports - Subreport zur Laufzeit ändern Allgemeine Java-Themen 6
N Variablen Array Länge ändern. Allgemeine Java-Themen 8
R Methoden Was fehlt mir bzw. muss ich bei der Methode countHarshabNumbers ändern damit ich die Harshad Zahlen im Intervall [51, 79] zählen kann? Allgemeine Java-Themen 19
R Was muss ich ändern, damit der Kreis links unten gezeichnet wird? Allgemeine Java-Themen 17
L Hintergrundfarbe jedes spinner-Elements ändern Allgemeine Java-Themen 1
Q Eclipse Escape Sequenzen Farbe ändern Allgemeine Java-Themen 4
OSchriever Einfach verkettete Liste ändern Allgemeine Java-Themen 43
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
D ArrayList Indexlänge ändern Allgemeine Java-Themen 2
E javax.mail sene Type ändern Allgemeine Java-Themen 2
J Farbe von Buttons mehrmals ändern Allgemeine Java-Themen 5
B Übernommene Variablen(werte) aus der Main-Klasse ändern? Allgemeine Java-Themen 9
B ImageView Farbe ändern Allgemeine Java-Themen 3
J Eine bestimmte Zahl im Integer ändern Allgemeine Java-Themen 9
T ändern neue Java Versionen was an der Programmiersprache? Allgemeine Java-Themen 15
R Zeitformat ändern Allgemeine Java-Themen 18
olfibits Erste Schritte Konsolentitel ändern Allgemeine Java-Themen 3
R Variable durch mehrere Methoden ändern und nutzen Allgemeine Java-Themen 17
S Kann man mit Java auf einem lokalen PC/Mac Benutzergruppen auslesen und Rechte ändern? Allgemeine Java-Themen 11
N Das Ende von bestimmten zeilen in text datei ändern und speichern Allgemeine Java-Themen 3
B Input/Output Datei ändern Allgemeine Java-Themen 9
T JasperReport Hintergrundfarbe wertabhängig ändern Allgemeine Java-Themen 3
sandaime CMD aufrufen und aktuellen pfad ändern Allgemeine Java-Themen 11
M Variable ändern bei jedem Schleifendurchlauf Allgemeine Java-Themen 32
RalleYTN DPI eines Bildes ändern Allgemeine Java-Themen 4
K eclipse Workspace ändern Allgemeine Java-Themen 2
J Properties file ändern Allgemeine Java-Themen 12
R WebDriver Firefox preferences ändern Allgemeine Java-Themen 0
W Input/Output Kann .properties Datei in kompilierter .jar nicht ändern Allgemeine Java-Themen 2
G Unix Passwort mit Java ändern? Allgemeine Java-Themen 3
M OOP Bildschirmauflösung des Systems ändern Allgemeine Java-Themen 0
Avarion Font von StyledDocument ändern Allgemeine Java-Themen 0
chuxXo System/JLayer Volume ändern Allgemeine Java-Themen 0
Thallius App-Sprache in der App ändern. Wo ist mein Denkfehler? Allgemeine Java-Themen 6
Tausendsassa Interface Buttons Background ändern! Wie?? Allgemeine Java-Themen 10
E Apache POI Powerpoint Verlinkungen ändern Allgemeine Java-Themen 4
R Int Wert im Dialogfeld ändern Allgemeine Java-Themen 4
Ananaskirsche Best Practice Sprachen ändern für Consolenausgaben Allgemeine Java-Themen 2
P Sprache ändern ins Programm einbinden Allgemeine Java-Themen 6
M String an einem abschnitt ändern Allgemeine Java-Themen 14
S Name einer Musikdatei auslesen und ändern Allgemeine Java-Themen 8
M Threads Bildformat mit java ändern Allgemeine Java-Themen 2
x22 Hintergrund in Netbeans ändern Allgemeine Java-Themen 3
M Zufälligen String generieren und alle 5 Minuten ändern Allgemeine Java-Themen 2
C Input/Output Bestimmte Zeile in Datei ändern. Allgemeine Java-Themen 13
B Swing Look And Feel ändern Allgemeine Java-Themen 15
jstei001 Reguläre Ausdrücke bearbeiten/ändern Allgemeine Java-Themen 14
H CLASSPATH im Javaprogramm ändern Allgemeine Java-Themen 5
S Datentypen Eine Variable von String zu Int ändern Allgemeine Java-Themen 5
B Input/Output Dateiendung ändern Allgemeine Java-Themen 6
P ganze Zeilen in einem File mit .replace() ändern. Allgemeine Java-Themen 10
Y Bildschirmauflösung ändern Allgemeine Java-Themen 5
P Wie bei log4j den Dateipfad der Logdatei zur Laufzeit ändern? Allgemeine Java-Themen 3
S Klassen .jar - eine .class datei ändern? Allgemeine Java-Themen 23
C Auf eine Methode von einer anderen Klasse aus ändern? Allgemeine Java-Themen 4
N .doc text ändern Allgemeine Java-Themen 12
X XML Dateien ändern Allgemeine Java-Themen 2
W LayoutManager Position der Componenten nachträglich ändern Allgemeine Java-Themen 12
A Ordnerberechtigungen ändern Allgemeine Java-Themen 10
Dit_ Registry, Preferences | Name des Knotens ändern. Allgemeine Java-Themen 2
R Windows - User Passwort ändern Allgemeine Java-Themen 2
S UML zur Laufzeit ändern Allgemeine Java-Themen 10
S equals - Identität ändern bei Vererbung? Allgemeine Java-Themen 5
S TreeSet - Comparator ändern -> resort? Allgemeine Java-Themen 8
E FF Einstellungen über Programm ändern? Allgemeine Java-Themen 7
M Grösse eines JTabbedPane ändern Allgemeine Java-Themen 2
L Kurzfristig Bildschirmauflösung ändern Allgemeine Java-Themen 2
Burny91 JAR-Datei Icon ändern Allgemeine Java-Themen 2
W Dateiinfo auslesen/ändern Allgemeine Java-Themen 3
S Tastaturbelegung global ändern Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben