java.library.path 相对路径_eclipse,工程/文件目录,相对路径(真心的详细~)

【1】从零开始建工程

其中d)换作:

ApplicationContext context = new ClassPathXmlApplicationContext("Config.xml");  Main main = (Main) context.getBean("main");

【2】eclipse,工程/文件目录

0818b9ca8b590ca3270a3433284dd417.png 1. 获取系统根目录

System.getProperty("user.home");

例如输出,C:\Users\hutu

0818b9ca8b590ca3270a3433284dd417.png2. 获取工程目录

System.getProperty("user.dir");

例如输出,D:\workspaces\workspace1\myProject

0818b9ca8b590ca3270a3433284dd417.png 3. 新建文件,默认位于工程目录

new File("xxx.txt").getAbsolutePath();

例如输出,D:\workspaces\workspace1\myProject

0818b9ca8b590ca3270a3433284dd417.png 4. 配置文件路径

ApplicationContext context = new ClassPathXmlApplicationContext("Config.xml");

.xml, .properties等,默认还是从“工程目录”去找的

1). 倒是也可以用绝对路径,真心不推荐啊,太不优雅了;

2). 或者,将log4j文件置于bin/目录下:

a). 代码中,PropertyConfigurator.configure("bin/log4j.properties");

b). 代码中,PropertyConfigurator.configure(ClassLoader.getSystemResource("log4j.properties"));

c). 注意,必须位于bin直接目录下,不可位于bin更深层的目录当中。可是这究竟是为神马捏?

0818b9ca8b590ca3270a3433284dd417.png 5. 查询某类的.class文件所在目录

Main.class.getResource(“”);

例如输出,D:\workspaces\workspace1\myProject\bin\com\hutu\log4j\

注意,查询包上级路径,只需将参数改作“/”

0818b9ca8b590ca3270a3433284dd417.png 6. 查询thread上下文所在目录

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

例如输出,D:\workspaces\workspace1\myProject\bin\

0818b9ca8b590ca3270a3433284dd417.png 7. 查询某类的classloader所在目录

Main.class.getClassLoader().getResource("");

例如输出,D:\workspaces\workspace1\myProject\bin\

0818b9ca8b590ca3270a3433284dd417.png 8. 查询classloader所在目录

ClassLoader.getSystemResource("");

例如输出,D:\workspaces\workspace1\myProject\bin\

1、利用System.getProperty()函数获取当前路径:  System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径  2、使用File提供的函数获取当前路径:  File directory = new File("");//设定为当前文件夹  try{      System.out.println(directory.getCanonicalPath());//获取标准的路径      System.out.println(directory.getAbsolutePath());//获取绝对路径  }catch(Exceptin e){}  File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(".")和new File("..")两种路径有所区别。  # 对于getCanonicalPath()函数,“."就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹  # 对于getAbsolutePath()函数,则不管”.”、“..”,返回当前的路径加上你在new File()时设定的路径  # 至于getPath()函数,得到的只是你在new File()时设定的路径  比如当前的路径为 C:/test :  File directory = new File("abc");  directory.getCanonicalPath(); //得到的是C:/test/abc  directory.getAbsolutePath();    //得到的是C:/test/abc  direcotry.getPath();                    //得到的是abc  File directory = new File(".");  directory.getCanonicalPath(); //得到的是C:/test  directory.getAbsolutePath();    //得到的是C:/test/.  direcotry.getPath();                    //得到的是.  File directory = new File("..");  directory.getCanonicalPath(); //得到的是C:/  directory.getAbsolutePath();    //得到的是C:/test/..  direcotry.getPath();                    //得到的是..  另外:System.getProperty()中的字符串参数如下:  System.getProperty()参数大全  # java.version                                Java Runtime Environment version   # java.vendor                                Java Runtime Environment vendor   # java.vendor.url                           Java vendor URL   # java.home                                Java installation directory   # java.vm.specification.version   Java Virtual Machine specification version   # java.vm.specification.vendor    Java Virtual Machine specification vendor   # java.vm.specification.name      Java Virtual Machine specification name   # java.vm.version                        Java Virtual Machine implementation version   # java.vm.vendor                        Java Virtual Machine implementation vendor   # java.vm.name                        Java Virtual Machine implementation name   # java.specification.version        Java Runtime Environment specification version   # java.specification.vendor         Java Runtime Environment specification vendor   # java.specification.name           Java Runtime Environment specification name   # java.class.version                    Java class format version number   # java.class.path                      Java class path   # java.library.path                 List of paths to search when loading libraries   # java.io.tmpdir                       Default temp file path   # java.compiler                       Name of JIT compiler to use   # java.ext.dirs                       Path of extension directory or directories   # os.name                              Operating system name   # os.arch                                  Operating system architecture   # os.version                       Operating system version   # file.separator                         File separator ("/" on UNIX)   # path.separator                  Path separator (":" on UNIX)   # line.separator                       Line separator ("/n" on UNIX)   # user.name                        User’s account name   # user.home                              User’s home directory   # user.dir                               User’s current working directory

JAVA中获取路径:  1.jsp中取得路径:     以工程名为TEST为例:  (1)得到包含工程名的当前页面全路径:request.getRequestURI()  结果:/TEST/test.jsp  (2)得到工程名:request.getContextPath()  结果:/TEST  (3)得到当前页面所在目录下全名称:request.getServletPath()  结果:如果页面在jsp目录下 /TEST/jsp/test.jsp  (4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp")  结果:D:/resin/webapps/TEST/test.jsp  (5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();  结果:D:/resin/webapps/TEST  2.在类中取得路径:  (1)类的绝对路径:Class.class.getClass().getResource("/").getPath()  结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/  (2)得到工程的路径:System.getProperty("user.dir")  结果:D:/TEST  3.在Servlet中取得路径:  (1)得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。  结果:E:/Tomcat/webapps/TEST  (2)得到IE地址栏地址:request.getRequestURL()  结果:http://localhost:8080/TEST/test  (3)得到相对地址:request.getRequestURI()  结果:/TEST/test

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值