java中获取类加载路径和项目根路径的5种方式分析
时间:02月19日
复制代码 代码如下:

package my;

?import java.io.File;
?import java.io.IOException;
?import java.net.URL;

?public class MyUrlDemo {

????
???? public static void main(String[] args) {
???????? MyUrlDemo muDemo = new MyUrlDemo();
???????? try {
???????????? muDemo.showURL();
???????? } catch (IOException e) {
???????????? // TODO Auto-generated catch block
???????????? e.printStackTrace();
???????? }
???? }

???? public void showURL() throws IOException {

???????? // 第一种:获取类加载的根路径?? D:\git\daotie\daotie\target\classes
???????? File f = new File(this.getClass().getResource("/").getPath());
???????? System.out.println(f);

???????? // 获取当前类的所在工程路径; 如果不加“/”? 获取当前类的加载目录? D:\git\daotie\daotie\target\classes\my
???????? File f2 = new File(this.getClass().getResource("").getPath());
???????? System.out.println(f2);

???????? // 第二种:获取项目路径??? D:\git\daotie\daotie
???????? File directory = new File("");// 参数为空
???????? String courseFile = directory.getCanonicalPath();
???????? System.out.println(courseFile);

?
???????? // 第三种:? file:/D:/git/daotie/daotie/target/classes/
???????? URL xmlpath = this.getClass().getClassLoader().getResource("");
???????? System.out.println(xmlpath);

?
???????? // 第四种: D:\git\daotie\daotie
???????? System.out.println(System.getProperty("user.dir"));
???????? /*
????????? * 结果: C:\Documents and Settings\Administrator\workspace\projectName
????????? * 获取当前工程路径
????????? */

???????? // 第五种:? 获取所有的类路径 包括jar包的路径
???????? System.out.println(System.getProperty("java.class.path"));

???? }
?}
最新动态
大家感兴趣的内容
关于我们 - 广告合作 - 联系我们 - 免责声明 - 网站地图 - 投诉建议 - 在线投稿
严禁网站镜像,否则追究法律责任 CopyRight © 2015-2018 诺心网络 All Rights Reserved.
地址:杭州拱墅区祥园路38号浙报理想祥园创意园东区A319
电话:18958065710 微信:Evtailun 邮箱:476565345@qq.com
网站备案号:浙ICP备15017827号-1