首页 > 编程语言 >Java中获取类加载路径和项目根路径

Java中获取类加载路径和项目根路径

时间:2023-09-21 15:16:30浏览次数:56  
标签:wan Java 路径 System File println out 加载


public class Test {
    public static void main(String[] args) {
        // LIVE TEMPLATE psvm+Tab键  sout
        Test test = new Test();
        try {
            test.showURL();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void showURL() throws IOException {

        // 第一种:获取类加载的根路径  D:\IdeaProjects\cdby_wan\WebRoot\WEB-INF\classes
        File f = new File(this.getClass().getResource("/").getPath());
        System.out.println(f);

        // 获取当前类的所在工程路径; 如果不加“/”获取当前类的加载目录  D:\IdeaProjects\cdby_wan\WebRoot\WEB-INF\classes\test\com
        File f2 = new File(this.getClass().getResource("").getPath());
        System.out.println(f2);

        // 第二种:获取项目路径 D:\IdeaProjects\cdby_wan
        File directory = new File("");// 参数为空
        String courseFile = directory.getCanonicalPath(); // Tomcat环境中运行,会获取Tomcat安装目录的bin目录,不推荐使用
        System.out.println(courseFile);

        // 第三种: file:/D:/IdeaProjects/cdby_wan/WebRoot/WEB-INF/classes/
        URL xmlpath = this.getClass().getClassLoader().getResource("");
        System.out.println(xmlpath);


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

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

 

标签:wan,Java,路径,System,File,println,out,加载
From: https://blog.51cto.com/u_16230604/7554595

相关文章

  • JAVA应用XFire框架来实现WebServie的大文件传输功能之二(上传)
    xml文件:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://xfire.codehaus.org/config/1.0"><service><name>HelloWorldService</name><namespace>http://localhost:8090......
  • JAVA应用XFire框架来实现WebServie的大文件传输功能之一(下载)
    下面是文件下载功能,可以实现大文件的断点续传,其原理是把服务端先把文件内容Byte[]转换成Base64编码字符串返回给客户端,然后客户端接收到后再把该Base64编码过的字符串转换成Byte[],最后写入文件。     至于断点续传的设计很简单,服务端留有一个定位参数,每次读取文件之前,都先定......
  • Javascript闭包(Closure)
    闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言......
  • JAVA中常用IO流类:FileReader和FileWriter
    1,FileWriter类(字符输出流类)构造方法:FileWriterfw=newFileWriter(StringfileName);//创建字符输出流类对象和已存在的文件相关联。文件不存在的话,并创建。                                            如:FileWriterfw=new......
  • java通过jdbc复制表数据实现备份
    importorg.apache.commons.lang3.StringUtils;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importjava.sql.*;@Servicepublicclass......
  • 【JavaWeb3】Maven环境搭建
    前言:为什么要学习Maven?在JavaWeb开发中,需要使用大量的jar包,我们手动导入很麻烦,而学习Maven它可以帮我们自动配置和导入这些jar包Maven作为依赖管理工具,能够管理规模庞大jar包。使用Maven后,依赖对应的Jar包能够自动下载、方便、快捷且规范。Maven作为构建管理工具。当我们使用......
  • 无涯教程-JavaScript - COUNTIFS函数
    描述COUNTIFS函数将多个条件应用于跨多个范围的单元格,并计算满足所有条件的次数。语法COUNTIFS(criteria_range1,criteria1,[criteria_range2,criteria2]…)争论Argument描述Required/Optionalcriteria_range1Thefirstrangeinwhichtoevaluatetheassociat......
  • 基于Java开发的工作流审批系统(成熟源码)
    前言目前市场上有很多开源平台没有整合工作流,即使有,也是价格不菲的商业版,来看这篇文章的估计也了解了行情,肯定不便宜。我这个快速开发平台在系统基础功能(用户管理,部门管理…)上整合了工作流,你可以直接用来开发ERP,OA,CRM等企业级应用,不用再担心如何再去花大量的时间集成工作流进来。......
  • Java大文件上传(秒传、分片上传、断点续传)
    一、秒传秒传就是不传,实现逻辑就是看数据库或者缓存里是否已经有这个文件了,有了,直接从已有的文件去拿就可以了(返回文件地址)。这里判断是否是相同文件,要用到信息摘要算法,详情可以参考:一文读懂当前常用的加密技术体系。信息摘要算法常常被用来保证信息的完整性,防止信息在传输过程中......
  • Javascript中window.setInterval和window.setTimeout的区别
    在使用JScript的时候,我们有时需要间隔的执行一个方法,比如用来产生网页UI动画特效啥的。这是我们常常会使用方法setInterval或setTimeout,但是由于这两个方法是由脚本宿主模拟出来的Timer线程,在通过其调用我们的方法是不能为其传递参数。我们常用的使用场景是:代码如下:window.setTi......