一 项目路径的获得

System.getProperty("user.dir");

可以获得当前用户的工作目录,即在哪个地方启动的java程序,返回就是当前目录

二 web项目根目录的获得(项目发布路径)

从servlet出发 可建立一个servlet在其的init方法中写入如下语句

ServletContext s1=this.getServletContext();
String path=s1.getRealPath("/");

path结果为:D:/workspace/Tomcat-8.0/webapps/test/ (test为项目名字) 如果是调用了s1.getRealPath("")则输出D:/workspace/Tomcat-8.0/webapps/test/(少了一个"/")


从httpServletRequest出发,一般spring的Controler接口可以采取改方法

String path=request.getSession().getServletContext().getRealPath("/");

path结果为:D:/workspace/Tomcat-8.0/webapps/test/

在有的mac系统中获取的地址都会带有file,如file:/private/var/folders/rc/fprxcv590blgzgvnxksmq3bh0000gn/T/tomcat-docbase.5005559936542573545.8080/

如果用这个路劲去创建新的文件,则文件的路径可能会跟你想象的不一样,而是在当前路径下创建了一个形如/file/private/var/folders/rc/fprxcv590blgzgvnxksmq3bh0000gn/T/tomcat-docbase.5005559936542573545.8080/...的文件夹

三 classpath的获取

通过线程获取

Thread.currentThread().getContextClassLoader().getResource("").getPath()

通过类加载器获取

this.getClass().getClassLoader().getResource("").getPath();
//或者
ClassName.class.getClassLoader().getResource("").getPath();

这种方法都可以获取到项目的classpath路径,但是执行的类都必须是在src路径下。因为设置Classpath的目的,是在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。

classpath具体介绍

最新文章

  1. cmd连接mysql的方法详解(转载)
  2. oracle exp imp 导入 正在跳过表 plsql 导入表 成功终止 数据 被导入
  3. Gulp.js 参考手册,自动化构建利器
  4. 方差分析 ANOVA
  5. 建立自己的git repository
  6. 老陈 ASP.NET封装
  7. iOS AFNetworking的使用
  8. mysql远程连接错误提醒:2013-Lost connection to MySQL server at ‘reading initial communication packet', system error: 0
  9. ios framework通用库的制作
  10. HBase的基本操作
  11. Linux--正则表达式--详解
  12. MySQL大数据量分页查询
  13. Python中if __name__=="__main__" 语句在调用多进程Process过程中的作用分析
  14. 集成JPA+springmvc+spring+EJB中的Java EE应用
  15. 3.Flask-SQLAlchemy
  16. Linux系统中的计划任务
  17. Failed to introspect annotated methods on class 异常
  18. vue使用JS的形式进行路由导航
  19. 自学Python4.9-生成器举例
  20. Java File.separator

热门文章

  1. E20171016-mk
  2. 字典(Trie树)
  3. @RequestParam 和 @RequestBody 接受的时间格式
  4. html5: table表格与页面布局整理
  5. 涨知识---V
  6. 【转】Linux 之 数据流重定向
  7. MVC系列学习(十四)-路由规则及路由调试工具
  8. 【转】Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)
  9. Java_Web三大框架之Hibernate+jsp+HQL分页查询
  10. Java_Web三大框架之Struts2