我的 Web 应用程序中有一个简单的 java 类,我在其中编写了以下代码,但它不起作用
File test= new File("/templates/xmdForModel.xsd");
templates 文件夹位于应用程序的根文件夹内。
文件的位置是----> application-root/package/test.java
文件的位置是 --------> application-root/testRoot/template/xmdForModel.xsd
错误
无法读取架构文档“file:/templates/xmdForModel.xsd”,因为 1) 找不到该文档; 2)文档无法读取; 3) 文档的根元素不是 .
最佳答案
如果您想查找 Web 应用程序内部文件的文件名,可以使用 ServletContext#getRealPath .
但是,我建议使用类加载器 Class#getResourceAsStream 来加载资源。 。这样,即使该文件并不真正作为文件存在(例如仅在 jar 内),它也可以工作。
如果这是用户应该编辑(或写入)的文件,我会将其放置在 Web 应用程序之外,然后指定绝对路径(例如“/etc/myapp/conf/xmd.xsd") 带有可配置的前缀。
关于java - 文件对象在 Java Web App 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14065783/