I have my Java project, say in C:\User\Workspace\myApplication And there’s an xml file in that folder: C:\User\Workspace\myApplication\myXML.xml And in my java program, I will take that xml file to retrieve information. So, I need to call it from my program. And now I am loading that file like: File xmlfile = new File(“C:\\User\\Workspace\\myApplication\\myXML.xml”) And I know that it’s not a good way to load a file using directly the absolute path. So, I try to call it from my program dynamically. Here, my program is web application. And I use Tomcat. First, I tried this way: File directory = new File(“.”); String loc = directory.getCanonicalPath(); File xmlfile = new File(loc + “myXML.xml”); And, second I tried using: System.getProperty(“user.dir”); Both first and second way give me the same result. When I tried to test those methods as Java application, they both gave me the path : C: \User\Workspace\myApplication But when I tried to put it in my program which accepts input from JSP and run on server, then the result path is: C:\Eclipse. So, there’s an error that the system cannot find the file. Why it cannot find the actual path? And how can I do it to load that xml file into my Java program. Any reply would be greatly appreciated.