tomcat 8.0.27和System.getProperty(“file.separator”)

时间:2016-10-12 06:37:37

标签: java file tomcat

我做了很多研究,但没有找到任何有类似问题的人。

pathSeparator=System.getProperty("file.separator");

我通过此功能获取文件分隔符(“/”或“\”)。

theFile = new java.io.File( this.getServletContext().getRealPath(pathSeparator+"EXAMPLE"+pathSeparator+"EXAMPLE1"+pathSeparator+"EXAMPLE2"+pathSeparator + EXAMPLE3+ ".example") );

上面的代码应该来自以下字符串中的getRealPath:

\EXAMPLE\EXAMPLE1\EXAMPLE2\EXAMPLE3.example
它执行的是

,但是在执行代码之后变量theFile被设置为null。如果我将pathSeperator设置为“/”,那么theFile不为null,它可以正常工作。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

阅读ServletContext()。getRealPath的文档。

如果无法将路径转换为实际路径,则此方法返回null。

Java和Servlet特别使用" /" 作为其虚拟路径表示的路径分隔符。即使在Windows系统上也是如此。

因此,使用" \" 在Servlet上下文中没有任何价值,如果使用

,您将从ServletContext()获取null.getRealPath