博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java几种路径的获取
阅读量:6280 次
发布时间:2019-06-22

本文共 1350 字,大约阅读时间需要 4 分钟。

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

D:\JavaWebG工具软件\新建文件夹\eclipse-jee-kepler-sr1-win32\Work\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\HomeWork6_16\

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

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

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

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

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

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

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:\eclipseM9\workspace\tree\ 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");

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

 

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

 

转载于:https://www.cnblogs.com/cj28-27/p/5596485.html

你可能感兴趣的文章
js笔记精华版
查看>>
PLSQL基本结构
查看>>
关于typedef的用法总结
查看>>
Apache用户认证、域名跳转、访问日志格式
查看>>
mwArray类说明
查看>>
CMD命令行:查看 Windows 操作系统的安装时间
查看>>
mysql explain
查看>>
golang交叉编译工具,gox使用入门
查看>>
Redis Master-Slave 读写分离测试
查看>>
git bash常用命令行以及初次接触yo以及bower
查看>>
修改MySQL默认空密码
查看>>
spring mvc访问静态文件(css/js/img)访问不到
查看>>
spring boot框架学习学前掌握之重要注解(1)-sprng的java配置方式
查看>>
plsql 书籍基础表结构
查看>>
nginx 第三方模块 modsecurity安装使用
查看>>
Kettle使用问题记录
查看>>
Android 透明(沉浸式)状态栏设计
查看>>
关于UIView的autoresizingMask属性
查看>>
sparkSQL UDF创建
查看>>
spring4中获取泛型的bean
查看>>