如何在 java 类中访问 WEB-INF 文件夹下的文件
2022-09-02 10:08:04
我在Web应用程序中有一个普通的java类,并且想要读取文件夹下的配置文件。我知道访问文件的方法,如果它在类路径(文件夹)中)。由于文件夹用于文件,因此我想仅将配置文件保留在文件夹下。WEB-INF
WEB-INF/classes
WEB-INF/classes
.class
WEB-INF
任何人都可以告诉我如何从我的java类访问它吗?
我在Web应用程序中有一个普通的java类,并且想要读取文件夹下的配置文件。我知道访问文件的方法,如果它在类路径(文件夹)中)。由于文件夹用于文件,因此我想仅将配置文件保留在文件夹下。WEB-INF
WEB-INF/classes
WEB-INF/classes
.class
WEB-INF
任何人都可以告诉我如何从我的java类访问它吗?
ServletContext.getResourceAsStream() 将从相对于 WAR 文件根目录的给定路径加载文件。像这样:
ServletContext ctx;
InputStream configStream = ctx.getResourceAsStream("/WEB-INF/config.properties");
这里的主要问题是,您需要访问 servlet 上下文才能执行此操作。你在 servlet 或过滤器中具有此参数,但在应用程序中的非 Web 组件中没有。您有几种选择:
您可以使用 方法 获取 servlet 的绝对路径,然后追加到您获得的路径。我认为这是非常基本的,可能还有其他一些答案。getRealPath()
ServletContext
WEB-INF