我做了很多研究,但没有找到任何有类似问题的人。
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,它可以正常工作。有什么想法吗?
答案 0 :(得分:1)
阅读ServletContext()。getRealPath的文档。
如果无法将路径转换为实际路径,则此方法返回null。
Java和Servlet特别使用" /" 作为其虚拟路径表示的路径分隔符。即使在Windows系统上也是如此。
因此,使用" \" 在Servlet上下文中没有任何价值,如果使用
,您将从ServletContext()获取null.getRealPath