java如何获取类的绝对路径

java如何获取类的绝对路径,第1张

1 用servlet获取

1.1 获取项目的绝对路径

request.getSession().getServletContext().getRealPath("")

1.2 获取浏览器地址

request.getRequestURL()

1.3 获取当前文件的绝对路径

request.getSession().getServletContext().getRealPath(request.getRequestURI())

2.获取当前的classpath路径

String a2=类名.class.getResource("").toString()

String a3=DBConnection.class.getResource("/").toString()

String a4=DBConnection.class.getClassLoader().getResource("").toString()

String t=Thread.currentThread().getContextClassLoader().getResource("").getPath()

//输出很好理解

3、获取文件的绝对路径

String t=Thread.currentThread().getContextClassLoader().getResource("").getPath()

int num=t.indexOf(".metadata")

String path=t.substring(1,num).replace('/', '\\')+"项目名\\WebContent\\文件"

在jsp和class文件中调用的相对路径不同。在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取工程的绝对路径。

另:在Jsp,Servlet,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

可以通过“ 类名.class.getResource("").getPath()”方法实现。

举例:”String path = XMLS.class.getResource("").getPath()“.

解释:以上语句就是获取到XMLS编译后的绝对路径(无法获取到java文件路径的,因为java运行的都是class文件)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11503965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存