java获取项目根目录 像 D:workspacesnetynteowebappnetynteo这样

java获取项目根目录 像 D:workspacesnetynteowebappnetynteo这样,第1张

String url = TestclassgetResource("")toString();

Systemoutprintln(urlsubstring(6,urllength()));

平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下

一 相对路径的获得

说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的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中的方法类似,不同的是此方法必须以'/'开头,

InputStream is=Test1classgetResourceAsStream("/testtxt");

(testtxt文件的路径为 项目名\src\testtxt,类Test1所在包的第一级目录位于src目录下)

三 web项目根目录的获得(发布之后)

1 从servlet出发

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

ServletContext s1=thisgetServletContext();

String temp=s1getRealPath("/"); (关键)

结果形如:D:\工具\Tomcat-60\webapps\002_ext\ (002_ext为项目名字)

如果是调用了s1getRealPath("")则输出D:\工具\Tomcat-60\webapps\002_ext(少了一个"\")

2 从>

用getResource不管用,直接使用File读取。

    //源文件夹下加载文件

            InputStream is1=PathDemoclassgetClassLoader()getResourceAsStream("config/s1xml");

            Systemoutprintln(is1);//config与src同级。getResourceAsStream 读取为null

            File s1=new File("config/s1xml");

            Systemoutprintln(s1);

java文件中获得路径

ThreadcurrentThread()getContextClassLoader()getResource("") //获得资源文件(class文件)所在路径

ClassLoadergetSystemResource("")

Class_NameclassgetClassLoader()getResource("")

Class_Nameclass getResource("/")

Class_Nameclass getResource("") // 获得当前类所在路径

SystemgetProperty("userdir") // 获得项目根目录的绝对路径

SystemgetProperty("javaclasspath") //得到类路径和包路径

打印输出依次如下:

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/

file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/com/xml/imp/

F:\work_litao\uri_test

F:\work_litao\uri_test\WebContent\WEB-INF\classes;F:\work_litao\uri_test\WebContent\WEB-INF\lib\dom4jjar

以上就是关于java获取项目根目录 像 D:/workspaces/netynteo/webapp/netynteo/这样全部的内容,包括:java获取项目根目录 像 D:/workspaces/netynteo/webapp/netynteo/这样、java怎么读取web工程里面的文件、java中与根目录平行的目录下的文件如何加载等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://www.outofmemory.cn/web/9753994.html

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

发表评论

登录后才能评论

评论列表(0条)

保存