von \ in / konvertieren

Status
Nicht offen für weitere Antworten.

lokiht

Aktives Mitglied
Hallo,
ich möchte einen String, der einen Pfad darstellt der Form dsfsdfsdf\dsfsdfsdf\dsffff in dsfsdfsdf/dsfsdfsdf/dsffff konvertieren. Habe mir dazu einen StringTokenizer genommen der allerdings \ als trenner nicht zu erlauben scheint. Wie kann ich den Tokenizer dazu bringen \ als Trennsymbol zu verwenden.
 

lokiht

Aktives Mitglied
Vielen Dank für die schnelle Antwort. habe jetzt folgendes:

Code:
String path ="game\test\3fgb.png";

StringTokenizer st = new StringTokenizer(path, "\\");
		
		int anzahlTokens = st.countTokens();
		String newPath="";

anzahlTokens müsste 3 sein, ist aber nur eins. Woran liegt das?
 

Leroy42

Top Contributor
Weil das \ in Java (C, C++, ...) innerhalb eines Strings eine besondere Funktion hat.
Es heißt Escape-Charackter und wird benutzt um ansonsten nicht schreibbare Zeichen
darzustellen:

\n = neue Zeile
\t = Tabulator
\uxxxx = Zeichen xxxx aus dem Unicode-Zeichensatz.

Um \ selbst darzustellen mußt du schreiben \\ und daß auch
in deinem path-String:

String path ="game\\test\\3fgb.png";
 

lokiht

Aktives Mitglied
Das Problem ist, dass ich den Pfad von einem Dateiauswahldialog bekomme. In meinem Programm verwende ich allerdings pfadangaben mit /.

In meinem Programm quasi:

Code:
image = new JLabel();
		image.setIcon(new ImageIcon(test/test1.png));
...und vom Dateiauswahldialog kommt
test\test1.png

Wenn es so nicht geht, wie kann ich denn dann ein ImageIcon mit so etwas erzeugen:

Code:
image = new JLabel();
		image.setIcon(new ImageIcon(test\test1.png));
 

Leroy42

Top Contributor
Nochmal genauer:
Die doppelten backslashes in
Code:
String path ="game\\test\\3fgb.png";
stellen nur die Codierung für ein einzelnes backslash dar.

Der Parser des Compilers sieht ein \ und weiß damit,
daß jetzt etwas besonderes kommt. Er liest das nächste Zeichen
und macht daraufhin eine Fallunterscheidung wie

Ist das nächste Zeichen ein t? Dann speichere das Tabulatorzeichen (ASCII 8)
Ist das nächste Zeichen ein n? Dann speichere das newline-Zeichen (ASCII 13 oder 10 oder beides, je nach Betriebssystem)

Ist das nächste Zeichen wieder ein \b]? Dann speichere ein Backslash.

Der String path enthält also genau 18 Zeichen bevor er dem eigentlichen Compiler vorgelegt wird.

Strings die du aus einem Dateiauswahldialog bekommst, müssen von nirgendwem
geparst werden und haben, an den Stellen, schon genau ein Backslash, über das du dann den StringTokenizer
laufen lassen kannst, um sie in einen Vorwärtsslash umzuwandeln.

Nochmal:

Nur im Java-Quelltext mußt du die Backslashs verdoppeln. Sonst nirgendwo.
 

byte

Top Contributor
Code:
String path = ...;
path = path.replace("\\", "/");

Oder einfach mit Files arbeiten und generell / als Seperator benutzen und sich um sowas nicht scheren, da der Seperator intern automatisch mit dem spezifischen Seperator des Dateisystems ersetzt wird.

Oder noch viel besser: nächstes Mal Forensuche benutzen, denn das Thema wurde schon 2390483904 mal behandelt.
 

L-ectron-X

Gesperrter Benutzer
Finde ich auch.
Deshalb mache ich mich jetzt mal mit dem Verweis auf die Forumsuche und Schließen des Threads bei allen gaaanz beliebt...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
I API - zurückgegebener JSON String lesen und in Entity konvertieren Java Basics - Anfänger-Themen 2
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
P String zu int konvertieren nur mit charAt Java Basics - Anfänger-Themen 8
B Milliarden konvertieren Java Basics - Anfänger-Themen 43
B java.io.OutputStream zu java.io.InputStream konvertieren Java Basics - Anfänger-Themen 18
B InputStream (PDF) nach Image (PNG / JPG) konvertieren? Java Basics - Anfänger-Themen 2
B Konvertieren: Outputstream zu Inputstream Java Basics - Anfänger-Themen 13
M Zeichenkette konvertieren Java Basics - Anfänger-Themen 1
B ENUM to List<String> konvertieren Java Basics - Anfänger-Themen 2
L Konvertieren von String zu double?! Java Basics - Anfänger-Themen 6
MiMa String nach float Konvertieren Java Basics - Anfänger-Themen 23
B CSV zu XML konvertieren Java Basics - Anfänger-Themen 4
E Datentypen C# String zu Java String konvertieren Java Basics - Anfänger-Themen 3
I HTML Code in Bild (transparent) konvertieren Java Basics - Anfänger-Themen 0
E Inch zu Meilen, Yard, Feet und Inch konvertieren Java Basics - Anfänger-Themen 1
D Enumeration in String konvertieren und ausgeben Java Basics - Anfänger-Themen 1
B Methoden Dateien konvertieren Java Basics - Anfänger-Themen 3
A JAVA Fenster in ein PDF Konvertieren Java Basics - Anfänger-Themen 1
A int in ASCII Konvertieren Java Basics - Anfänger-Themen 6
A Fragmente eines Strings zu einzelnen int konvertieren Java Basics - Anfänger-Themen 3
P String in byte konvertieren, wie? Java Basics - Anfänger-Themen 4
G Objekte aus ArrayList in StringArray konvertieren?! Java Basics - Anfänger-Themen 13
A Bildgröße automatisch auf JLabel Größe konvertieren Java Basics - Anfänger-Themen 9
G String Array konvertieren in Integer Array? Java Basics - Anfänger-Themen 7
A Liste in Array konvertieren Java Basics - Anfänger-Themen 30
J BufferedReader in Integer konvertieren Java Basics - Anfänger-Themen 7
L Datentypen Object zu double zu int konvertieren Java Basics - Anfänger-Themen 6
N Datentypen Datum konvertieren mit kurzer Monatsangabe Java Basics - Anfänger-Themen 3
D Scala Iterable zu Java Collection konvertieren Java Basics - Anfänger-Themen 3
A int in String konvertieren Java Basics - Anfänger-Themen 4
T Fehler beim Konvertieren (String --> Float) Java Basics - Anfänger-Themen 5
F Sonderzeichen bei XML Serialisierung nicht konvertieren Java Basics - Anfänger-Themen 7
H String in anderen zeichensatz Konvertieren? Java Basics - Anfänger-Themen 6
H Monat von Datumausgabe in int konvertieren Java Basics - Anfänger-Themen 3
P 2D Array in 1D konvertieren?? Java Basics - Anfänger-Themen 28
turmaline String zu Date konvertieren -> Unparseable date Java Basics - Anfänger-Themen 5
C Datentypen int[][]-Array nach String[][]-Array konvertieren Java Basics - Anfänger-Themen 7
K StringWriter/String nach InputStream konvertieren Java Basics - Anfänger-Themen 3
D Collection Konvertieren Java Basics - Anfänger-Themen 7
J Konvertieren und Runden von double in int Java Basics - Anfänger-Themen 3
D OOP StringArray in doubleArray konvertieren Java Basics - Anfänger-Themen 13
H Hilfe String in lowercase konvertieren ohne api Java Basics - Anfänger-Themen 4
N String in Double konvertieren? Java Basics - Anfänger-Themen 9
K String von z.B. "\u003C" in Char konvertieren Java Basics - Anfänger-Themen 7
Z Wie Byte[] in einen String oder int konvertieren Java Basics - Anfänger-Themen 2
U von String auf int konvertieren Java Basics - Anfänger-Themen 7
G String in Date konvertieren Java Basics - Anfänger-Themen 6
S String in Datum und wieder in String konvertieren Java Basics - Anfänger-Themen 3
G char[] in byte[] konvertieren? Java Basics - Anfänger-Themen 2
G Jpanel -> BufferedImage konvertieren Java Basics - Anfänger-Themen 7
K Integer in Hex (Little Endian) konvertieren Java Basics - Anfänger-Themen 8
B String in Byte konvertieren Java Basics - Anfänger-Themen 19
T Integer zu Hexadezimal konvertieren Java Basics - Anfänger-Themen 6
G byte array in integer konvertieren Java Basics - Anfänger-Themen 15
N Daten konvertieren von xml in csv Java Basics - Anfänger-Themen 2
G Zeichenkette in char-Array konvertieren Java Basics - Anfänger-Themen 13
M HTML in PDF konvertieren? Java Basics - Anfänger-Themen 10
Q Zeitstempel in Datum konvertieren Java Basics - Anfänger-Themen 2
O Object in Float konvertieren Java Basics - Anfänger-Themen 2
M Int nach String konvertieren? Java Basics - Anfänger-Themen 11
R Konvertieren von Objektadressen Java Basics - Anfänger-Themen 2
S StringBuffer(Buchstabe) -> Double konvertieren Java Basics - Anfänger-Themen 6
D Object to int konvertieren Java Basics - Anfänger-Themen 5
F Boolescher Ausdruck (String) in boolean konvertieren Java Basics - Anfänger-Themen 5
W Java.mysql.date in GregorianCalender konvertieren Java Basics - Anfänger-Themen 2
G ArrayList aus Byte nach Char konvertieren Java Basics - Anfänger-Themen 3
A Referenztypen in primitive Konvertieren Java Basics - Anfänger-Themen 6
B String in int konvertieren Java Basics - Anfänger-Themen 9
B Java in VBA konvertieren? RETTET MEIN LEBEN Java Basics - Anfänger-Themen 14
M long in byte[] konvertieren und wieder zurück Java Basics - Anfänger-Themen 2
F Kann man den Namen einer Variable in ein String Konvertieren Java Basics - Anfänger-Themen 2
D BMP in JPEG konvertieren Java Basics - Anfänger-Themen 2
reibi OutputStream nach ByteOutputStream konvertieren Java Basics - Anfänger-Themen 21
P jar File konvertieren Java Basics - Anfänger-Themen 2
G Datei konvertieren - aber wie Dateiformat einlesen Java Basics - Anfänger-Themen 15
G Pfad konvertieren Java Basics - Anfänger-Themen 9
L String in Array konvertieren Java Basics - Anfänger-Themen 5
S String in ein int wert konvertieren Java Basics - Anfänger-Themen 3
I Zahlen in Unicode konvertieren Java Basics - Anfänger-Themen 37
G String in double konvertieren Java Basics - Anfänger-Themen 12
S Konvertieren von Gregorian Calendar nach Date ? Java Basics - Anfänger-Themen 6
H Konvertieren von String nach int Java Basics - Anfänger-Themen 9
P String zu int konvertieren ? Java Basics - Anfänger-Themen 10
S .class in .java konvertieren? Java Basics - Anfänger-Themen 5
G Char Array konvertieren Java Basics - Anfänger-Themen 7
S MBD zu CSV konvertieren Java Basics - Anfänger-Themen 2
G Kommata in Punkten konvertieren Java Basics - Anfänger-Themen 5
F String in Byte[] konvertieren Java Basics - Anfänger-Themen 2
M String in Integer konvertieren Java Basics - Anfänger-Themen 4
T int konvertieren zu double Java Basics - Anfänger-Themen 5
F Double nach Int konvertieren ? Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben