繁体   English   中英

如何在Servlet程序中获取正确的文件路径?

[英]How to get the right file path in Servlet program?

我试图使用相对路径读取xml和txt文件,我尝试了getServletContext().getContextPath(); 但是它以错误的方式获取路径

我的文件路径是:

d:\\ dev的\\工作区\\ Simulater的\\ src \\资源\\ Map.xml

现在当我申请时

System.out.println(getServletContext().getContextPath());

我得到的输出:

/ Simulater

当我申请时:

File myTestFile= new File(Api.CONTEXT_PATH+fileName);
String path = myTestFile.getAbsoluteFile().toString();
System.out.println(path);

我得到D:\\Simulater\\src\\resources\\Map.xml

这是一条错误的路径,因为它不包含

:\\ dev的\\工作空间\\

它像java一样接缝使用项目名称并添加包含它的驱动程序

因此,任何人都可以提供任何帮助以获得正确的道路

感谢名单

使用getServletContext().getRealPath("/")获取完整路径D:\\dev\\workspace\\Simulater\\src\\resources\\然后可以通过提供此完整路径和文件名来读取文件。

要读取需要打开InputStream的文件,因为文件位于类路径中,因此可以使用以下语句打开流:

InputStream is = this.getClass().getResourceAsStream("/Map.xml");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM