Java 类路径servlet中存在的访问文件

Java 类路径servlet中存在的访问文件,java,jakarta-ee,servlets,Java,Jakarta Ee,Servlets,在DynamicWebProject-Eclipse中,如何为src文件夹中的文件获取文件对象,我的意思是说类路径 下面的程序运行良好,但文件的新更新出现在wtpwebapps中,相反,我只想在Eclipse的src文件夹中的文件中进行更改(如何为类路径中的文件获取FileOutputStream) 您可以在代码中使用getServletContext()/filename,即 properties.load(new FileInputStream(getServletContext().get

在DynamicWebProject-Eclipse中,如何为src文件夹中的文件获取文件对象,我的意思是说类路径

下面的程序运行良好,但文件的新更新出现在wtpwebapps中,相反,我只想在Eclipse的src文件夹中的文件中进行更改(如何为类路径中的文件获取FileOutputStream)


您可以在代码中使用getServletContext()/filename,即

properties.load(new FileInputStream(getServletContext().getRealPath("/filename")));


为什么不从类路径中加载getClass().getClassLoader().getResourceAsStream(路径)?BigMike:FileOutputStream fos=new FileOutputStream(“占位符”);您能告诉我在“占位符”中写什么来访问类路径中的文件吗?这样,我对文件所做的任何更改都会影响到src文件夹中的文件,而不会影响到wtpwebapps(当我们运行eclipse时)。getResourceAsStream()为您提供对类路径中某些内容的读取访问权限。为了有一个输出流,您可以使用getResource(),就像在选择的答案中一样,在使用webapplication时,我通常将可写文件存储在一个公共目录中(在应用程序服务器域之外),因为每个AS都有自己的类路径…BigMike:感谢您指出正确的链接,这就是我需要的。我会检查并更新。ThanksgetServletContext()?比斯瓦吉特:我在阅读时没有遇到任何问题。我的问题是,当我写入一个文件时,它实际上会写入wtpwebapps中存在的文件(使用eclipse运行项目时存在于.metadata文件夹中),而不是我项目的src文件夹中存在的实际文件。Jayesh Patel:你是对的。当你得到类路径时,它会返回编译文件存储的路径。这对你有好处。因为当你把代码放在另一台电脑上时,你不会遇到任何问题。你不必担心这个文件的路径。最后你想做什么?你能解释一下你的目的吗?这样我就能帮你了。
properties.load(new FileInputStream(getServletContext().getRealPath("/filename")));
properties.load(new FileInputStream(getServletContext().getRealPath(/filename")));