zoukankan      html  css  js  c++  java
  • Java几种路径的获取

    各位朋友,相信大家都知道,在web项目中的默认路径总是例如这种:

    D:JavaWebG工具软件新建文件夹eclipse-jee-kepler-sr1-win32Work.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebappsHomeWork6_16

    其实我们往往要写入的真实路径并不是这个,那为什么在上传文件和写入数据的时候,总是会写入到这个路径呢??

    这其实是eclipes在作怪,他会默认把当前的工作项目拷贝到例如上面的那个路径里,那么我们想要写入到我的工作目录下面应该怎么做呢?

    相信大家也看出来了,相比自己的工作路径,它似乎只是中间多了一节“.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebapps”,

    既然这样,那我们是不是可以吧这个路径看着字符串的形式,然后把多余的地方截取掉呢?

    事实证明是可以的,那么下面就写了一个例子;

    那么我们可以把它封装成一个方法来专门用来获取路径!

    public String getWebPath() {
            String path=String path=getServletContext().getRealPath("/");    //这已不是获得默认的路径;
            int index=path.indexOf(".metadata");
            String webPath=path.substring(1,index-1).replace('/', '\')+getServletContext().getContextPath()+"/WebContent/";     //这一步是把多余的路径不要,然后拼凑成你想要的路径;
            return webPath;
        }

    String path = getServletContext().getRealPath("/");
    这将获取web项目的全路径
    例如:E:eclipseM9workspace ree tree是我web项目的根目录

    this.getClass().getClassLoader().getResource("/").getPath();
    这将获取到classes目录的全路径
     例如   E:eclipseM9/workspace/tree/WEB-INF/classes/
    这个方法也可以不在web环境里确定路径,比较好用

    request.getContextPath();
    获得web根的上下文环境
    如/tree www.2cto.com tree是我的web项目的root context

    /*jsp 取得当前目录的路径
    path=request.getRealPath("");

    当然了,以上的都是java web项目的获取办法;

    最好获取的就是JAVA类中的工作路径了;

    System.getProperty("user.dir");

    就这样就可以获得你的工作路径了,简单吧!

    以上是我综合我学习中的一些总结,希望各位给予建议和意见;

  • 相关阅读:
    如何还原Microsoft Office Word 2003默认的Normal.dot模板文件
    如何解决VMware Workstation 10.0.0 build-1295980马赛克现象
    通过更改注册表信息来恢复Microsoft Office 2003默认设置
    在运行Eclipse时明确指定要使用的Java VM
    修改Eclipse启动图像
    Get IPv4 Address 1.0
    hosts appender 2.0
    Extract String From Text 1.0
    String Replace 1.0
    360 Extension for Chrome Download 1.0
  • 原文地址:https://www.cnblogs.com/cj28-27/p/5596485.html
Copyright © 2011-2022 走看看