2021.05.03 Java常用文件路径
在实际开发过程中,有时候我们需要获取项目下的一些资源文件,但是由于平时用的比较少,所以经常需要搜一下,然后测一下,没什么问题才会在项目中用起来,但是毕竟不方便,而且特别影响效率,今天我就抽点时间把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路径
// 获取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
本项目会持续每日更新,让我们一起学习,一起进步,遇见更好的自己,加油呀