Java 在Web应用程序中使用清单文件作为输入

Java 在Web应用程序中使用清单文件作为输入,java,filepath,Java,Filepath,我想将manifest.mf文件用作InputStream,以便检索其中的一些数据。我使用以下代码行: inputStream = new FileInputStream("../../../../WebContent/META-INF/MANIFEST.MF"); 因为java类和manifestfile位于以下目录中: 不幸的是,此路径总是给我一个FilenotFoundException。引用此文件的正确路径是什么?请尝试以下操作: File file = new File("../.

我想将manifest.mf文件用作
InputStream
,以便检索其中的一些数据。我使用以下代码行:

inputStream = new FileInputStream("../../../../WebContent/META-INF/MANIFEST.MF");
因为java类和manifestfile位于以下目录中:

不幸的是,此路径总是给我一个
FilenotFoundException
。引用此文件的正确路径是什么?

请尝试以下操作:

File file = new File("../../../../WebContent/META-INF/MANIFEST.MF");
System.out.println(file.getCanonicalPath());

查看应用程序的位置并修复要加载与web应用程序捆绑的文件的路径。此文件将是已部署应用程序的war文件的一部分。因此,它不会出现在文件系统中。因此,用FileInputStream加载它不是正确的解决方案

顺便说一句,文件路径与创建FileInputStream的类无关。它们与启动应用程序服务器的目录相关

加载webapp资源的方法是使用以下方法。仔细阅读它的javadoc(以及
ServletContext.getResource()
)的javadoc


您还应该意识到,
WebContent
是webapp源所在目录的名称。一旦打包并部署到服务器上,就不会再有任何WebContent目录了。

这与
finally
块有什么关系?