我用类(比如ClassA)编写了一个桌面java应用程序,它读取文件的内容,处理它并返回一些结果。使用
指定相对于项目的文件名文件输入=新文件(" config.xml");
现在,我想将项目升级为Web项目。我编写了一个servlet,它调用同一个java类(即ClassA)来读取同一个文件的内容,但这次我收到一条错误消息,说找不到文件。
如何重构代码,以便桌面版和Web版都能顺利运行。
答案 0 :(得分:0)
只需将文件config.xml复制到Web服务器上的正确位置,例如的public_html /网络/
"工作目录" Web应用程序的不同之处 - 取决于您将其部署到的Web服务器的配置。
答案 1 :(得分:0)
如果您在未指定路径的情况下读取文件,则会从当前目录中读取该目录,您可以使用System.getProperty(“user.dir”)访问该目录;
因此,您可以尝试找出Web应用程序中System.getProperty(“user.dir”)返回的值,并将文件放在那里。 但这可能因环境和servlet服务器(Tomcat等)而有所不同,可能不是一个可靠的解决方案。
另一种方法是更改代码,因此它从user.home目录中读取文件并将文件放在那里。