Java或Web中解决所有路径问题

    技术2024-12-09  17

    5. 取得服务器相对路径

    System.getProperty("user.dir")

    例如:E:/apache-tomcat-5.5.16/apache-tomcat-5.5.16/bin

    我推荐使用Thread.currentThread().getContextClassLoader().getResource("")来得到当前的classpath的绝对路径的URI表示法

    6. 取得项目中的绝对路径

    一般用request.getRealPath("/")或request.getRealPath("/config/")

    但现在不提倡使用request.getRealPath("/")了,大家可试用ServletContext.getRealPath("/")方法得到Web应用程序的根目录的绝对路径

    要取得src的文件非常容易,因为src是默认的相对目录,比如你说要取得src下com目录的test.java文件,你只需要这样就够了

    File f = new File(com/test.java);

    但如果我要取得不在src目录或者WebRoot目录下的文件呢,而是要从src或者WebRoot同级的目录中取呢,比如说doc吧

    我的硬方法是这样实现的:

    String path = this.getServletContext().getRealPath("/");

    Properties p = new Properties();

    p.load(new FileInputStream(new File(path.substring(0,(path.lastIndexOf("//WebRoot") + 1)) + "doc/db.properties")));

    System.out.println(p.getProperty("driverName"));

    最新回复(0)