java获取当前项目的路径地址

1、手动拼接获取项目的绝对路径   

 /**

   * 得到文件保存的路径

   *

    * @return

   */

public String getPath() {

      System.out.println("*********");

      String path1 = Thread.currentThread().getContextClassLoader().getResource("").getPath();//获取当前资源的虚拟路径

      System.out.println(path1);

      String currentProjectName = this.request.getContextPath();//获取当前项目名称

      System.out.println(this.request.getContextPath());

      int num = path1.indexOf(".metadata");

      String testPath = path1.substring(1, num).replace('/''\\') +currentProjectName + "\\" + this.getDirectory()

           + "\\";

      System.out.println(testPath);

      File file = new File(testPath);

//判断该路径下文件是否存在,不存在则创建

      if (!file.exists()) {

        file.mkdirs();

      }

      return testPath;

}

输出结果为:

/reflectWeb

D:\code\studyCode\/reflectWeb\upload\

D:\code\studyCode\/reflectWeb\upload\fe6156bb-932f-41ad-9a1c-b20cd8ac06e5.jpg**********

2、其他获取资源的路径的方法

String path = super.getServletContext().getRealPath("/") + File.separatorthis.getDirectory()

           + File.separator;

      System.out.println("#####获取当前classpath的绝对url路径####");

      System.out.println(this.getClass().getClassLoader().getResource("").getPath());

      System.out.println(this.getClass().getClassLoader().getResource("/").getPath());

      System.out.println("#####获取当前类的加载目录,如果有“/”获取当前类的所在工程路径####");

      System.out.println(this.getClass().getResource("").getPath());

      System.out.println(this.getClass().getResource("/").getPath());

      System.out.println("#####项目绝对路径####");

      System.out.println(this.getClass().getClassLoader().getResource(".").getPath());

      System.out.println("#####当前文件路径####");

      System.out.println(this.getServletContext().getRealPath("/"));

      System.out.println(super.getServletContext().getRealPath("/"));

      System.out.println(path);

输出结果为:

  1. #####获取当前classpath的绝对url路径####
  2. /D:/code/studyCode/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/reflectWeb/WEB-INF/classes/
  3. /D:/code/studyCode/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/reflectWeb/WEB-INF/classes/
  4. #####获取当前类的加载目录,如果有“/”获取当前类的所在工程路径####
  5. /D:/code/studyCode/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/reflectWeb/WEB-INF/classes/cn/mldn/servlet/
  6. /D:/code/studyCode/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/reflectWeb/WEB-INF/classes/
  7. #####项目绝对路径####
  8. /D:/code/studyCode/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/reflectWeb/WEB-INF/classes/
  9. #####当前文件路径####
  10. D:\code\studyCode\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\reflectWeb\
  11. D:\code\studyCode\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\reflectWeb\
  12. D:\code\studyCode\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\reflectWeb\\upload\
  13. *********
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值