Warum funktioniert der Pfad nicht (Java)?
Warum ist dieser Pfad rot und spuckt "illegal escape character" aus
3 Antworten
Moin,
weil der Backslash einen Escape Character angibt. Z.B. \n für einen Carriage Return.
Um das zu lösen schreibst du entweder mit regulären Slashes / oder machst einen Doppelbackslash \\ - bei C# kann man das mit @ vor dem String bestimmen, ob man Escape Character hat - ob das bei Java funktioniert, weiß ich nicht.
LG
Weil der Backslash in Strings eine besondere Bedeutung hat. Er leitet Sonderzeichen wie Zeilenumbruch, Carriage Return oder Tablator ein (\n, \r oder \t).
Um aber einen Backslash selbst in einem String schreiben zu können, muss man diesen mit einem Backslash escapen, wie man sagt. Das heißt, einen Backslash davorschreiben, damit klar wird, dass der folgende Backslash als Backslash interpretiert werden soll.
Aus c:\temp muss im Java String (und auch in anderen Sprachen) eben c:\\temp werden.
In Java aber Windows-Pfade hardcodiert einzutragen, macht die Plattformunabhängigkeit kaputt. Nicht umsonst gibt es File.pathSeparator oder die Methoden der Paths-Klasse zum Zusammensetzen von Pfaden.
Hallo. Das liegt an deinem Backslash. Du musst das escapen. Versuch einfach zwei Backslashes. Also "\" -> "\\".
Es hat funktioniert mit dem normalen /