1.System.getProperty()

使用System.getProperty()获取路径 ,System.getProperty(“xx”), “xx”的值为下列的值
获取当前class类的路径 - 图1

示例代码:

  1. System.out.println("java版本号:" + System.getProperty("java.version"));
  2. System.out.println("Java提供商名称:" + System.getProperty("java.vendor"));
  3. System.out.println("Java提供商网站:" + System.getProperty("java.vendor.url"));
  4. System.out.println("jre目录:" + System.getProperty("java.home"));
  5. System.out.println("Java虚拟机规范版本号:" + System.getProperty("java.vm.specification.version"));
  6. System.out.println("Java虚拟机规范提供商:" + System.getProperty("java.vm.specification.vendor"));
  7. System.out.println("Java虚拟机规范名称:" + System.getProperty("java.vm.specification.name"));
  8. System.out.println("Java虚拟机版本号:" + System.getProperty("java.vm.version"));
  9. System.out.println("Java虚拟机提供商:" + System.getProperty("java.vm.vendor"));
  10. System.out.println("Java虚拟机名称:" + System.getProperty("java.vm.name"));
  11. System.out.println("Java规范版本号:" + System.getProperty("java.specification.version"));
  12. System.out.println("Java规范提供商:" + System.getProperty("java.specification.vendor"));
  13. System.out.println("Java规范名称:" + System.getProperty("java.specification.name"));
  14. System.out.println("Java类版本号:" + System.getProperty("java.class.version"));
  15. System.out.println("Java系统类加载器:" + System.getProperty("java.class.path"));
  16. System.out.println("Java lib路径:" + System.getProperty("java.library.path"));
  17. System.out.println("Java输入输出临时路径:" + System.getProperty("java.io.tmpdir"));
  18. System.out.println("Java编译器:" + System.getProperty("java.compiler"));
  19. System.out.println("扩展类加载器:" + System.getProperty("java.ext.dirs"));
  20. System.out.println("操作系统名称:" + System.getProperty("os.name"));
  21. System.out.println("操作系统的架构:" + System.getProperty("os.arch"));
  22. System.out.println("操作系统版本号:" + System.getProperty("os.version"));
  23. System.out.println("文件分隔符:" + System.getProperty("file.separator"));
  24. System.out.println("路径分隔符:" + System.getProperty("path.separator"));
  25. System.out.println("直线分隔符:" + System.getProperty("line.separator"));
  26. System.out.println("操作系统用户名:" + System.getProperty("user.name"));
  27. System.out.println("操作系统用户的主目录:" + System.getProperty("user.home"));
  28. System.out.println("当前程序所在目录:" + System.getProperty("user.dir"));

2.Class.getClassLoader()

使用xx.class.getClassLoader().getResource(“”) 通过类加载器获取jar包的绝对路径

  1. public void getMyDIR() throws IOException {
  2. System.out.println("获取当前类文件的绝对路径: " + this.getClass().getResource("/").getPath());
  3. // 获取当前类的所在工程路径; 如果不加“/” 获取当前类的加载目录 D:\git\daotie\daotie\target\classes\my
  4. System.out.println("获取当前类的所在工程路径: " + this.getClass().getResource("").getPath());
  5. }
  6. //-----------运行结果------------
  7. //获取当前类文件的绝对路径: /D:/yuanzi1/out/production/yuanzi1/
  8. //获取当前类的所在工程路径: /D:/yuanzi1/out/production/yuanzi1/java8/