Java - filepath - 无效的转义序列

New*_*Bee 9 java filepath

我通过提供filepath将文件上传到目的地.它在文件路径类似时工作正常

String filePath = "D:\\location";
Run Code Online (Sandbox Code Playgroud)

但是提供像服务器一样的位置

String filePath = request.getRealPath("\\10.0.1.18\downloads\upload");
Run Code Online (Sandbox Code Playgroud)

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

在路径上有什么不对(我有充分的位置),如果错误,它是如何正确地恭维它.

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

Jon*_*eet 12

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

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

String filePath = request.getRealPath("\\\\10.0.1.18\\downloads\\upload");
Run Code Online (Sandbox Code Playgroud)

然后字符串的内容将是正确的

\\10.0.1.18\downloads\upload
Run Code Online (Sandbox Code Playgroud)

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

String filePath = "D:\\location";
Run Code Online (Sandbox Code Playgroud)

...实际上会创建一个内容为的字符串:

D:\location
Run Code Online (Sandbox Code Playgroud)

有关字符和字符串文字中转义序列的更多详细信息,请参见Java语言规范的第3.10.6节.


Dar*_*usz 5

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