Java获取项目所在路径 获取当前路径 判断是相对路径还是绝对路径

// 判断是相对路径还是绝对路径
        if(this.isAbsolutePath(uploadDir)){
            // 绝对路径
            finalPath = uploadDir + "/" + fileName;
            tailPath = fileName;
        }else{
            // 相对路径(bug,尾部有一个‘/’ 与uploadDir重复)
            String realPath = uploadFileDS.getRequest().getRealPath("").replaceAll("\\\\", "/");
            realPath = realPath.substring(0, realPath.length() - 1);
            finalPath = realPath + uploadDir + "/" + fileName;
            tailPath = uploadDir + "/" + fileName;
        }

/**
     * 判断是否绝对路径
     * 当路径以 / 开头则为相对路径,否则视为绝对路径
     * @param uploadDir
     * @return
     */
    private boolean isAbsolutePath(String uploadDir) {
        if(uploadDir.startsWith("/")){
            return false;
        }
        return true;
    }

 

/**
     * 获取项目所在路径
     * @return
     */
    public String getRealPath() {//通过类加载器获取jar包的绝对路径
        String realPath = this.getClass().getClassLoader().getResource("").getFile();
        java.io.File file = new java.io.File(realPath);
        realPath = file.getParentFile().getAbsolutePath(); //获取jar包的上级目录
        try {//路径decode转码
            realPath = java.net.URLDecoder.decode(realPath, "utf-8");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return realPath ; 
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值