Если он размещен в веб-контенте , тогда используйте ServletContext#getResourceAsStream()
:
InputStream input = getServletContext().getResourceAsStream("/WEB-INF/file.properties"));
Метод getServletContext()
унаследован от HttpServlet
. Просто назовите это как есть внутри сервлета.
Если он находится в classpath , тогда используйте ClassLoader#getResourceAsStream()
:
InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("file.properties");
Разница с Class#getResourceAsStream()
в том, что вы не зависите от загрузчика классов, который загрузил класс (который может отличаться от того, который использует поток, если класс, например, служебный класс, упакованный в JAR, и конкретный загрузчик классов может не иметь доступа к определенным путям пути к классам).