使用相同文件路径的{j}桌面和Web应用程序

时间:2016-10-07 14:45:18

标签: java web-applications desktop-application filepath

我用类(比如ClassA)编写了一个桌面java应用程序,它读取文件的内容,处理它并返回一些结果。使用

指定相对于项目的文件名

文件输入=新文件(" config.xml");

现在,我想将项目升级为Web项目。我编写了一个servlet,它调用同一个java类(即ClassA)来读取同一个文件的内容,但这次我收到一条错误消息,说找不到文件。

如何重构代码,以便桌面版和Web版都能顺利运行。

2 个答案:

答案 0 :(得分:0)

只需将文件config.xml复制到Web服务器上的正确位置,例如的public_html /网络/

"工作目录" Web应用程序的不同之处 - 取决于您将其部署到的Web服务器的配置。

答案 1 :(得分:0)

如果您在未指定路径的情况下读取文件,则会从当前目录中读取该目录,您可以使用System.getProperty(“user.dir”)访问该目录;

因此,您可以尝试找出Web应用程序中System.getProperty(“user.dir”)返回的值,并将文件放在那里。 但这可能因环境和servlet服务器(Tomcat等)而有所不同,可能不是一个可靠的解决方案。

另一种方法是更改​​代码,因此它从user.home目录中读取文件并将文件放在那里。