SAXbuilder und Leerzeichen im Pfad

Andre_Java

Mitglied
Ich möchte mit dem SAXbuilder eine Datei erstellen. Leider funktionieren keine Pfade, in denen Leerzeichen enthalten sind.

Folgendes habe ich bereits probiert:

PHP:
String pfad = "C:\Temp test\RS.xml";     //funktioniert nicht
String pfad = "C:\\Temp test\\RS.xml";    //funktioniert nicht
String pfad = "C:\\Temp\ test\\RS.xml";   //funktioniert nicht
String pfad = "C:\\Temp\" \"test\\RS.xml";   //funktioniert nicht
String pfad = "'C:\\Temp test\\RS.xml'";   //funktioniert nicht
String pfad = ""C:\\Temp test\\RS.xml"";   //funktioniert nicht

Document docein = new SAXBuilder().build( pfad );

Wie muss der Pfad escaped werden, damit es funktioniert?
 
Spontan hätte ich jetzt so gesagt:
Java:
String pfad = "C:\\Temp test\\RS.xml";
Der Backslash muss auf jeden Fall escaped werden, wie das mit dem Leerzeichen ist weiß ich allerdings nicht...
Leerzeichen musst du auch escapen. Eigentlich sollte das hier klappen:
Java:
System.out.println("C:\\Temp\tTest\\test.xml");
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

hast du es schon mal so versucht?

Code:
String pfad = "C:\\\"Temp test\"\\RS.xml";
oder so

Code:
String pfad = "\"C:\\Temp test\\RS.xml\"";


MFG

zEriX
 
Leider funktionieren die vier Beispiele auch nicht. Ich nehme sie mal in die "nicht funktionierend Liste" auf:

PHP:
//funktioniert alles nicht:
String pfad = "C:\Temp test\RS.xml";        
String pfad = "C:\\Temp test\\RS.xml";      
String pfad = "C:\\Temp\ test\\RS.xml";    
String pfad = "C:\\Temp\" \"test\\RS.xml";  
String pfad = "'C:\\Temp test\\RS.xml'";     
String pfad = ""C:Temp testRS.xml"";       
String pfad = "C:\\Temp test\\RS.xml";      
String pfad = "C:\\Temp\tTest\\RS.xml";    
String pfad = "\"C:\\Temp test\\RS.xml\""; 
String pfad = "C:\\\"Temp test\"\\RS.xml"; 

Document docein = new SAXBuilder().build( pfad );
 
Wie kommst du eigentlich drauf, dass es Probleme mit den Leerzeichen gibt?

Gibt es eine Fehlermeldung? Wenn ja, welche?

MFG

zEriX
 
Es wird eine IOException ausgelöst, sobald ein Leerzeichen im Dateiname ist. In jedem anderen Ordner klappt es.

Ich würde gerne auf die Leerzeichen verzichten, aber Windows benutzt die ja selber und meine Datei muss sich z.B. auch in "C:\Documents and Settings\ ..." speichern lassen.

String pfad = "C:\\temp\\RS.xml"; funktioniert dagegen einwandfrei.
 
Schlagt mich und trettet mich wenn ich falsch liege ;), bin noch anfänger *g

Aber kannst du nicht genau so gut deinen String in ein File umwandeln:
Code:
SAXBuilder _SaxBuilder = new SAXBuilder();

      try
         {
         document = _SaxBuilder.build(aFile);
         }
 
Das war die Lösung.

PHP:
String pfad = "C:\\Temp test\\RS.xml";
Document docein = new SAXBuilder().build( new File( pfad ) );

So funktioniert es! :)
 
Zurück