9

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

String filePath = "D:\\location";

但是在提供服务器位置的同时

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

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

路径有什么问题(我对该位置有充分的权限),如果错误,如何正确地暗示它。

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

4

2 回答 2

12

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

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

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

那么字符串的内容就是

\\10.0.1.18\downloads\upload

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

String filePath = "D:\\location";

...实际上将创建一个包含以下内容的字符串:

D:\location

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

于 2013-04-19T06:04:12.987 回答
5

使用双斜线\\!这是一种特殊的逃生模式。像 \n 或 \r。

于 2013-04-19T06:04:02.283 回答