Warum funktioniert der Pfad nicht (Java)?

3 Antworten

Von Experte Lezurex bestätigt

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

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer

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 "\" -> "\\".

Woher ich das weiß:Berufserfahrung