如何在java文件中为我的文件提供相对路径?

时间:2013-05-16 09:28:10

标签: java jsp java-ee tomcat

我正在使用tomcat服务器为我的java应用程序(Servlet,jsp)。在我的servlet页面中调用一个java类函数。实际上java文件是单独编写的,我将调用其中写的函数。在函数中,我必须为某种目的阅读一个配置(用户定义)文件。因此,我正在使用File类。

但是,这里我必须给出配置文件的相对路径(用户定义)。因为,现在我在本地Windows服务器上运行这个应用程序。但我的实时服务器基于Linux。因此,文件路径被更改在linux中。

File f1=new File("D:\tomcat\webapp\myapp\WEB-INF\src\point_config.txt");  -- windows
File f1=new File("D:\ravi\tomcat\webapp\myapp\WEB-INF\src\point_config.txt");  -- linux

所以,我必须给出windows和linux机器共有的文件的相对路径。

有办法做到这一点吗?

请指导我解决这个问题?

2 个答案:

答案 0 :(得分:6)

将您的配置文件放在您的webapp WEB-INF / classes文件夹下,并在代码

中读取
InputStream is= 
   YourClassName.class.getResourceAsStream("point_config.txt");

答案 1 :(得分:1)

配置文件的路径指向WEB-INF文件夹

tomcat\webapp\myapp\WEB-INF\src\point_config.txt

WEB-INF中的任何内容都受到保护,并且在Web应用程序启动后无法由用户定义。如果您打算从文件系统中读取用户定义的配置文件,请使用common configuration API之类的API。

如果您想坚持将文件保留在WEB-INF文件夹中,请使用Class.getResourceAsStream()方法来获取配置。但这不会使配置由用户定义。

相关问题