2013-04-19 15 views
8

Ich lade Datei zu einem Ziel hoch, indem ich Dateipfad zur Verfügung stelle. Es funktioniert gut, wenn Dateipfad wieJava - Dateipfad - Ungültige Escape-Sequenz

ist
String filePath = "D:\\location"; 

Aber während ein Server-Standort wie

Bereitstellung
String filePath = request.getRealPath("\\10.0.1.18\downloads\upload"); 

produzieren Fehler ungültiger Escape-Sequenz.

Was ist falsch in den Pfad (ich habe volle Privelges zum Standort) und wenn falsch, wie es auch richtig anwenden.

Vielen Dank für Hilfe im Voraus ////

+0

möglich duplizieren von http://stackoverflow.com/questions/9445196/invalid-escape-sequence-valid-ones-are-b-t-n-f-r – Dariusz

Antwort

12

Es ist ein Fehler bei der Kompilierung, so dass es kann nicht mit Berechtigungen zu tun sein, usw.

Das Problem ist, dass Sie nicht die Schrägstriche zu entkommen. Sie benötigen:

String filePath = request.getRealPath("\\\\10.0.1.18\\downloads\\upload"); 

Dann wird der Inhalt der Zeichenfolge wird nur

\\10.0.1.18\downloads\upload 

Dies ist genau das gleiche wie in der ersten Zeile, die Sie zeigte, wo diese:

String filePath = "D:\\location"; 

. .. erzeugt tatsächlich eine Zeichenkette mit dem Inhalt:

D:\location 

Weitere Details zu Escape-Sequenzen in Zeichen- und String-Literalen finden Sie unter section 3.10.6 of the Java Language Specification.

4

Verwendung doppelter Schrägstrich \\! Es ist ein spezielles Escape-Muster. Like \ n oder \ r.