我的Web应用程序中有一些数据文件,我想读取。
如何从 EJB 访问它们?
我尝试了这样的事情,但没有用:
@Singleton
public class Server {
public void loadData() {
InputStream is =
this.getClass().getClassLoader().
getResourceAsStream("WebContent/WEB-INF/Data/Data.xml");
//read from is...
}
}
或者有没有更好的方法来处理只读数据文件?我不想使用数据库,因为我永远不必写入这些文件,而且我可以很容易地解析大型 XML 文件。
尝试:
public void loadData() {
InputStream is = this.getClass().getClassLoader().getResourceAsStream("classpath:Data/Data.xml");
//read from is...
}
更多详细信息,请参阅:用于从 Java 中的类路径加载资源的 URL
经过一番实验,我终于让它工作了。问题是错误的路径。权利是:
InputStream is = this.getClass().getClassLoader().getResourceAsStream("../Data/Data.xml");
(我不知道为什么)...
InputStream is = this.getClass().getClassLoader().getResourceAsStream("classpath:Data/Data.xml");
对我不起作用,但感谢您的帮助。