
实现思路就是先获取到类路径,之后再类路径中截取出相应的项目根路径(因为是知道类和项目的相对位置的)。
可以通过“ 类名classgetResource("")getPath()”方法实现获取到当前的路径。
举例:”String path = XMLSclassgetResource("")getPath()“
解释:以上语句就是获取到XMLS编译后的绝对路径(无法获取到java文件路径的,因为java运行的都是class文件),之后根据实际情况截取任意位置的路径都可以。
一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)
String relativelyPath=SystemgetProperty("userdir");
上述相对路径中,java项目中的文件是相对于项目的根目录
web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin)
二 类加载目录的获得(即当运行时某一类时获得其装载目录)
11)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)
InputStream is=TestActionclassgetClassLoader()getResourceAsStream("testtxt");
(testtxt文件的路径为 项目名\src\testtxt;类TestAction所在包的第一级目录位于src目录下)
上式中将TestAction,testtxt替换成对应成相应的类名和文件名字即可
12)通用方法二 (此方法和11中的方法类似,不同的是此方法必须以'/'开头,参考>
在servlet中,可以通过以下方法获取项目的绝对路径:
使用ServletContext对象的getRealPath()方法:
String path = getServletContext()getRealPath("/");
使用类加载器的getResource()方法:
String path = getClass()getClassLoader()getResource("")getPath();
以上两种方法都可以获取到项目的绝对路径,但是第一种方法需要传入相对路径作为参数,而第二种方法则不需要。
以上就是关于项目在tomcat部署后,如何获取项目的根目录全部的内容,包括:项目在tomcat部署后,如何获取项目的根目录、在java类中怎么获得java项目的目录、servlet中如何得到项目的绝对路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)