2016-10-07 27 views
0

我写了一个桌面java应用程序与一个类(说ClassA)读取文件的内容,处理它并返回一些结果。文件名是相对于项目使用的java桌面和web应用程序使用相同的文件路径

File input = new File(“config.xml”);

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

我该如何重构我的代码,以便桌面版和网页版运行平稳。

回答

0

只需将文件config.xml复制到Web服务器上的适当位置,例如public_html/www/

Web应用程序的“工作目录”不同 - 取决于您要部署到的Web服务器的配置。

0

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

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

另一种方法是更改​​代码,以便从user.home目录中读取文件并将文件放在该文件中。

相关问题