获取当前项目路径

获取当前项目路径

public class GetRootPath {
    public static void main(String[] args) throws IOException {
        GetRootPath test = new GetRootPath();
        test.getpath();
    }
    public void getpath() throws IOException{
        String path = "";

        // 第1种:获取类加载的根路径
        path = this.getClass().getResource("/").getPath();
        System.out.println(path);

        // 第2种:获取当前类的所在工程路径,不加“/”  获取当前类的加载目录
        path = this.getClass().getResource("").getPath();
        System.out.println(path);

        // 第3种:获取项目路径
        File file = new File("");
        path = file.getCanonicalPath();
        System.out.println(path);

        // 第4种:获取当前运行的路径
        URL path1 = this.getClass().getResource("");
        System.out.println(path1);

        // 第5种:获取项目路径
        path = System.getProperty("user.dir");
        System.out.println(path);

        // 第6种:获取当前运行的路径
        path = Thread.currentThread().getContextClassLoader().getResource("").getPath();
        System.out.println(path);

        // 第7种:表示到项目的根目录下, 要是想到目录下的子文件夹,修改"/"即可
//        request.getSession().getServletContext().getRealPath("/");
        return;
    }
}

第五个方法的参数选择:

     /**
      * Key                                  中文描述
      * java.version                    Java 运行时环境版本
      * java.vendor                        Java 运行时环境供应商
      * java.vendor.url                    Java 供应商的 URL
      * java.home                        Java 安装目录
      * java.vm.specification.version    Java 虚拟机规范版本
      * java.vm.specification.vendor    Java 虚拟机规范供应商
      * java.vm.specification.name        Java 虚拟机规范名称
      * java.vm.version                    Java 虚拟机实现版本
      * java.vm.vendor                    Java 虚拟机实现供应商
      * java.vm.name                    Java 虚拟机实现名称
      * java.specification.version        Java 运行时环境规范版本
      * java.specification.vendor        Java 运行时环境规范供应商
      * java.specification.name            Java 运行时环境规范名称
      * java.class.version                Java 类格式版本号
      * java.class.path                    Java 类路径
      * java.library.path                加载库时搜索的路径列表
      * java.io.tmpdir                    默认的临时文件路径
      * java.compiler                    要使用的 JIT 编译器的名称
      * java.ext.dirs                    一个或多个扩展目录的路径
      * os.name                            操作系统的名称
      * os.arch                            操作系统的架构
      * os.version                        操作系统的版本
      * file.separator                    文件分隔符(在 UNIX 系统中是“/”)
      * path.separator                    路径分隔符(在 UNIX 系统中是“:”)
      * line.separator                    行分隔符(在 UNIX 系统中是“/n”)
      * user.name                        用户的账户名称
      * user.home                        用户的主目录
      * user.dir                        用户的当前工作目录
      * 
      */
posted @   lyluoye  阅读(366)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示