Problem beim Schreiben eines Dateipfads in MySQL-DB

toothpick192

Grünschnabel
Hallo,
ich habe da ein kleines Problem in meinem Programm. Unter anderem speichere ich den Pfad einer Datei in eine Tabelle meiner My-SQL Datenbank. Hierzu benutze ich einen String wie z.b. c:\foo\bar.java

Mein String in Java erkennt den Pfad auch einwandfrei, allerdings wenn ich ihn in die DB schreibe (in ein VARCHAR Feld) verschwinden die '\'.

Der Pfadname wird aus einem JFileChooser Objekt ausgelesen, ist also keine direkte Benutzereingabe.

Ich habe zwar versucht durch
Code:
pfadString.replace('\\','/');


die Zeichen auszutauschen, aber da spielt Java nicht so ganz mit, da Java den Backslash gar nicht findet in em String.

Hat da jemand eventuell nen Tip ?

Mit Dank im Voraus,
Christian
 
Hallo,

schau mal hier
Java:
import java.io.File;


public class ReplaceExample {

	public static void main(String[] args) {
		
		String file = new File("C:\\foo.txt").getAbsolutePath();
		System.out.println(file);
		
		file = file.replaceAll("\\\\", "/");
		
		System.out.println(file);
		
	
	}
}

MFG

zEriX
 
Hallöchen und vielen Dank für die schnelle Antwort.

Hmm das funktioniert bei mir leider nicht, er "verschuckt" immer noch die "\" in der Datenbank. Der einzige Unterschied (den ich erkennen kann) zu meinem Code liegt darin, dass ich den Pfadnamen nicht irgendwo selber reinschreibe sondern ich den String mittels

Code:
imgLoc=jFileChooser.getSelectedFile().toString();

auslese. Hat das damit etwas zu tun ?

Christian
 
Ahhhh, sorry ich habs total verpeilt....

Code:
file = file.replaceAll("\\\\", "/");

Ich bin aus irgend einem Grund davon ausgegangen, dass die replaceAll() Methode auf sich selbst angewendet wird und nicht nochmal sich selbst zugewiesen werden muss...

Sorry dafür, jetzt gehts aber ;)

Danke für Deine Hilfe !

Christian
 
Zurück