我正在尝试打开文件,但当前的CWD错误。我试图从/ROOT/app/WEB-INF/classes/pl/jcubic/Service.class
但当前工作目录使用:
File root = new File(".");
root.getAbsolutePath();
返回/var/lib/tomcat7/.
路径,如何从servlet获取app
目录(即使我更改名称或在Windows机器上运行,我也希望我的代码能够工作)。
答案 0 :(得分:3)
你可以阅读。
InputStream input = getServletContext().getResourceAsStream("/abc.txt");
或
File file = new File(getServletContext().getRealPath("/abc.txt"));
答案 1 :(得分:2)
除非您的耳朵爆炸,否则您无法通过File API获取其内容。如上所述,您应该使用getResource。如果您希望使用展开的Web存档中的文件,则需要获取当前目录。使用ServletContext.getRealPath(),例如:
String path = getServletContext().getRealPath("/")+"/";
File config = new File(path + "WEB-INF/conf/tag_checker.xml");
File lists = new File(path + "WEB-INF/conf/lists.xml");
答案 2 :(得分:-1)
文件文件=新文件("文件路径");
进程exec = Runtime.getRuntime()。exec(" rundll32" +"" +" url.dll,FileProtocolHandler" +"& #34; + file.getAbsolutePath());