Java - filepath - 无效的转义序列

时间:2013-04-19 06:02:54

标签: java filepath

我通过提供文件路径将文件上传到目的地。 当文件路径类似

时,它工作正常
String filePath = "D:\\location";

但是提供像

这样的服务器位置
String filePath = request.getRealPath("\\10.0.1.18\downloads\upload");

产生无效转义序列的错误。

路径上的错误(我对该位置有充分的价值),如果错误,那么它是否正确地表达了它。

提前感谢您的帮助////

2 个答案:

答案 0 :(得分:12)

这是一个编译时错误,所以不能与权限等有关。

问题是你没有逃避反斜杠。你需要:

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

然后字符串的内容就是

\\10.0.1.18\downloads\upload

这与您展示的第一行完全相同,其中:

String filePath = "D:\\location";

...实际上会创建一个内容为:

的字符串
D:\location

有关字符和字符串文字中转义序列的更多详细信息,请参阅section 3.10.6 of the Java Language Specification

答案 1 :(得分:5)

使用双斜杠\\!这是一种特殊的逃脱模式。喜欢\ n或\ r。