• 技术文章 >后端开发 >C#.Net教程

    应用绝对路径与相对路径

    巴扎黑巴扎黑2016-12-20 16:27:29原创566
    这个问题就得看你的配置文件放在哪里啦,如果放在了项目的Classes目录(或子目录)下,你可以用**.Class.getResource('相对路径')来获取配置文件路径.如果是其他目录,那你只能在项目启动时通过ServletContext获取项目根目录+配置文件的目录来确定路径.并把路径放到类文件可以引用的地方啦.
    以下是我在做项目时写的一个用于获取路径的类,写的可能不太好.但还是希望能对你有所帮助:
    package com.example.web;

    import java.io.File;
    import java.net.URL;

    import javax.servlet.ServletContext;
    import javax.servlet.http.HttpServletRequest;

    /**
    * 路径获取类
    * */
    public class WebPath {
    /**
    * 获取项目根目录的绝对路径
    *
    * @return 如:F:\TongJianpeng\J2EEUtil
    * */
    public static String getAbsolutePathWithProject() {
    return System.getProperty("user.dir");
    }

    /**
    * 获取项目所在盘符
    * */
    public static String getDriverPathWithProject() {
    return new File("/").getAbsolutePath();
    }

    /**
    * 获取项目根目录的绝对路径
    *
    * @return 项目根目.例如<br/> F:\tomcat\webapps\J2EEUtil\
    * */
    public static String getAbsolutePathWithWebProject(
    HttpServletRequest request) {
    return request.getSession().getServletContext().getRealPath("/");
    }

    /**
    * 获取项目根目录下的指定目录的绝对路径
    *
    * @param 项目根目下的指定目录
    * .例如:/login/
    * @return 项目根目下的指定目录.例如:<br/> F:\tomcat\webapps\J2EEUtil\login\
    * */
    public static String getAbsolutePathWithWebProject(
    HttpServletRequest request, String path) {
    return request.getSession().getServletContext().getRealPath(path);
    }

    /**
    * 获取项目根目录的绝对路径
    *
    * @return 项目根目.例如<br/> F:\tomcat\webapps\J2EEUtil\
    * */
    public static String getAbsolutePathWithWebProject(ServletContext context) {
    return context.getRealPath("/");
    }

    /**
    * 获取项目根目录下的指定目录的绝对路径
    *
    * @param 项目根目下的指定目录
    * .例如:/login/
    * @return 项目根目下的指定目录.例如:<br/> F:\tomcat\webapps\J2EEUtil\login\
    * */
    public static String getAbsolutePathWithWebProject(ServletContext context,
    String path) {
    return context.getRealPath(path);
    }

    /**
    * 获取项目classpath目录的绝对路径
    *
    * @return classes目录的绝对路径<br/>
    * file:/F:/tomcat/webapps/J2EEUtil/WEB-INF/classes/
    * */
    public static URL getAbsolutePathWithClass() {
    return WebPath.class.getResource("/");
    }

    /**
    * 获取项目classPath目录下的指定目录的绝对路径
    *
    * @param path
    * classes目录下的指定目录.比如:/com/
    * @return file:/F:/tomcat/webapps/J2EEUtil/WEB-INF/classes/com/
    * */
    public static URL getAbsolutePathWithClass(String path) {
    return WebPath.class.getResource(path);
    }

    /**
    * 获取指定类文件的所在目录的绝对路径
    *
    * @param clazz
    * 类
    * @return 类文件的绝对路径.例如:<br/> 包com.Aries.Util.Web下的Main.java类.<br/>
    * 路径为:file:/
    * F:/tomcat/webapps/J2EEUtil/WEB-INF/classes/com/Aries/Util/Web/
    * */
    public static URL getAbsolutePathWithClass(Class clazz) {
    return clazz.getResource("");
    }
    }

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:Asp.net,C# 加密解密字符串 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• c语言本身有没有输入输出语句• c语言中源文件编译后生成什么文件• c语言中的标识符是由什么组成• c语言中case是什么意思• c语言中关键字有多少个
    1/1

    PHP中文网