我通过提供文件路径将文件上传到目的地。 当文件路径类似
时,它工作正常String filePath = "D:\\location";
但是提供像
这样的服务器位置String filePath = request.getRealPath("\\10.0.1.18\downloads\upload");
产生无效转义序列的错误。
路径上的错误(我对该位置有充分的价值),如果错误,那么它是否正确地表达了它。
提前感谢您的帮助////
答案 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。