在实际开发过程中,有时候我们需要获取项目下的一些资源文件,但是由于平时用的比较少,所以经常需要搜一下,然后测一下,没什么问题才会在项目中用起来,但是毕竟不方便,而且特别影响效率,今天我就抽点时间把java
中常用的获取资源路径的方式整理下,方便后续开发使用。
//路径为空 File file = new File(""); // 返回结果:D:\workspace\learning\example-everyday\example-2021.05.03 System.out.println(file.getAbsoluteFile());
// 获取当前项目所在磁盘的根目录(linux环境没试过) File fileRoot = new File("/"); // 返回结果:D:\ System.out.println(fileRoot.getAbsoluteFile());
./
路径// 路径为当前相对目录./时 File fileCurrent = new File("./"); // 返回结果:D:\workspace\learning\example-everyday\example-2021.05.03\. System.out.println(fileCurrent.getAbsoluteFile());
.
路径这个路径和./
表示的是一样的路径
// 路径为当前相对目录.时 File fileCurrent2 = new File("."); // 返回结果:D:\workspace\learning\example-everyday\example-2021.05.03\. System.out.println(fileCurrent2.getAbsoluteFile());
..
路径..
和../
表示同一个路径,用过Linux
系统的小伙伴应该很熟悉
// 路径为当前相对目录..时 File fileparent = new File(".."); // 返回结果:D:\workspace\learning\example-everyday\example-2021.05.03\. System.out.println(fileparent.getAbsoluteFile());
// 获取当前类的路径 String resourcePath = Example.class.getResource("").getPath(); // 返回结果:/D:/workspace/learning/example-everyday/example-2021.05.03/target/classes/io/github/syske/example20210503/ System.out.println(resourcePath);
// 获取classes的路径 String path = Example.class.getResource("/").getPath(); // 返回结果:/D:/workspace/learning/example-everyday/example-2021.05.03/target/classes/ System.out.println(path);
获取系统的各项参数
// 返回系统信息 Properties props = System.getProperties(); props.list(System.out);
参数的中文对照:
参数 | 中文 |
---|---|
java.version | Java运行时环境版本 |
java.vendor | Java运行时环境供应商 |
java.vendor.url | Java供应商的 URL |
java.home | Java安装目录 |
java.vm.specification.version | Java虚拟机规范版本 |
java.vm.specification.vendor | Java虚拟机规范供应商 |
java.vm.specification.name | Java虚拟机规范名称 |
java.vm.version | Java虚拟机实现版本 |
java.vm.vendor | Java虚拟机实现供应商 |
java.vm.name | Java虚拟机实现名称 |
java.specification.version | Java运行时环境规范版本 |
java.specification.vendor | Java运行时环境规范供应商 |
java.specification.name | Java运行时环境规范名称 |
java.class.version | Java类格式版本号 |
java.class.path | Java类路径 |
java.library.path | 加载库时搜索的路径列表 |
java.io.tmpdir | 默认的临时文件路径 |
java.compiler | 要使用的 JIT编译器的名称 |
java.ext.dirs | 一个或多个扩展目录的路径 |
os.name | 操作系统的名称 |
os.arch | 操作系统的架构 |
os.version | 操作系统的版本 |
file.separator | 文件分隔符 |
path.separator | 路径分隔符 |
line.separator | 行分隔符 |
user.name | 用户的账户名称 |
user.home | 用户的主目录 |
user.dir | 用户的当前工作目录 |
项目路径:
https://github.com/Syske/example-everyday
本项目会持续每日更新,让我们一起学习,一起进步,遇见更好的自己,加油呀