Filepath splitten

Status
Nicht offen für weitere Antworten.

M4x0r

Aktives Mitglied
Hi,
ich versuche grad sowas wie einen kleinen explorer zusammenzubauen.
Um eine "Zurück"-Funktion einzubauen, habe ich mir gedacht ich zerlege den Pfad zum aktuellen Ordner mit split("\\") und füge in wieder zusammen und lasse einfach das letzte element weg.
Zum test hab ich jetzt nur mal ausprobiert den Pfad zu splitten und die Tokens einzeln auszugeben

Java:
public void actionPerformed (ActionEvent e){
		[...]
		else if (e.getSource().equals(back)){
			String [] tokens = directory.split("\\");
			for (int i = 0 ; i <tokens.length ; i++)
				System.out.println(tokens[i]);
		}
	}

mit folgendem Ergebnis:

Java:
Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
 ^
	at java.util.regex.Pattern.error(Pattern.java:1713)
	at java.util.regex.Pattern.compile(Pattern.java:1466)
	at java.util.regex.Pattern.<init>(Pattern.java:1133)
	at java.util.regex.Pattern.compile(Pattern.java:823)
	at java.lang.String.split(String.java:2293)
	at java.lang.String.split(String.java:2335)
	at Main.actionPerformed(Main.java:135)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.Component.processMouseEvent(Component.java:6134)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
	at java.awt.Component.processEvent(Component.java:5899)
	at java.awt.Container.processEvent(Container.java:2023)
	at java.awt.Component.dispatchEventImpl(Component.java:4501)
	at java.awt.Container.dispatchEventImpl(Container.java:2081)
	at java.awt.Component.dispatchEvent(Component.java:4331)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
	at java.awt.Container.dispatchEventImpl(Container.java:2067)
	at java.awt.Window.dispatchEventImpl(Window.java:2458)
	at java.awt.Component.dispatchEvent(Component.java:4331)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Wie man schon sieht liegt es wahrscheinlich an dem "\\" .
Wie muss ich das machen? :noe:
Danke.
 

faetzminator

Gesperrter Benutzer
Du willst in Regex ein \
1. \ ist in Regex ein Sonderzeichen und muss mit \ escaped werden: \\
2. \ ist in Java Strings ebenfalls eins und muss mit \ escaped werden: \\\\

Edit:
Bezogen auf habi55's Post würde ich
Code:
[/\\\\]
empfehlen.
 

mvitz

Top Contributor
Code:
"\\\\"

\ ist für RegExp ein Steuerzeichen, muss also mit \ escaped werden --> \\
\ ist für Java aber auch ein Steuerzeichen also ergibt \\ -> \
Das wiederrum führt uns zu \\\\ + Java = \\ + RegExp = \

Zu beachten ist dann aber wieder, dass unter Linux der / das Trennezciehn für Ordner ist!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
MarekLanger Filepath in Log4j2 in Docker Container Allgemeine Java-Themen 12
L String splitten und multiplizeren Allgemeine Java-Themen 10
G String mit umbekannter länge splitten. Allgemeine Java-Themen 2
V Eingegeben String Splitten und in Integer umwandeln Allgemeine Java-Themen 2
A Vector Strings in Array splitten Allgemeine Java-Themen 6
OnDemand String splitten (mit Anfang und Ende) Allgemeine Java-Themen 11
N String zweifach splitten Allgemeine Java-Themen 4
D Strings chemisch splitten Allgemeine Java-Themen 3
I Best Practice Properties auslesen und splitten (RegExp?) Allgemeine Java-Themen 0
A ALTER TABLE mit Hilfe von RegEx zerlegen, splitten Allgemeine Java-Themen 5
R Jar-Datei splitten Allgemeine Java-Themen 2
E String splitten Allgemeine Java-Themen 15
E String splitten Allgemeine Java-Themen 7
B AudioInputStream, bzw. Sound bearbeiten / splitten Allgemeine Java-Themen 2
M byte array splitten Allgemeine Java-Themen 3
H String "Splitten" Allgemeine Java-Themen 2
N Strings mit null wiedergabe Splitten Allgemeine Java-Themen 4
S Stringarray splitten an unbekanntem Zeichen Allgemeine Java-Themen 7
A String splitten Allgemeine Java-Themen 4
A PDFs splitten mergen und Seitenzhalen hinzufügen Allgemeine Java-Themen 5
MQue Pfad splitten Allgemeine Java-Themen 2
S String splitten. Allgemeine Java-Themen 7
P String splitten - wie? Allgemeine Java-Themen 4
E Nochmal komplexen String matchen und splitten Allgemeine Java-Themen 2
R Pdf Datei splitten Allgemeine Java-Themen 4
E String mit ; splitten und zuweisen? Allgemeine Java-Themen 20
thE_29 Nach regex splitten Allgemeine Java-Themen 19
M nach einem Pattern splitten Allgemeine Java-Themen 2
S Integer-splitten für Abfrage. Allgemeine Java-Themen 4
S liste splitten Allgemeine Java-Themen 8
C String splitten Allgemeine Java-Themen 3
T String splitten Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben