2021.05.03 Java常用文件路径

在实际开发过程中,有时候我们需要获取项目下的一些资源文件,但是由于平时用的比较少,所以经常需要搜一下,然后测一下,没什么问题才会在项目中用起来,但是毕竟不方便,而且特别影响效率,今天我就抽点时间把java中常用的获取资源路径的方式整理下,方便后续开发使用。

常用路径

获取项目路径

//路径为空
File file = new File("");
// 返回结果:D:workspacelearningexample-everydayexample-2021.05.03
System.out.println(file.getAbsoluteFile());

获取磁盘根目录

 // 获取当前项目所在磁盘的根目录(linux环境没试过)
File fileRoot = new File("/");
// 返回结果:D:
System.out.println(fileRoot.getAbsoluteFile());

获取./路径

// 路径为当前相对目录./时
File fileCurrent = new File("./");
// 返回结果:D:workspacelearningexample-everydayexample-2021.05.03.
System.out.println(fileCurrent.getAbsoluteFile());

获取.路径

这个路径和./表示的是一样的路径

// 路径为当前相对目录.时
File fileCurrent2 = new File(".");
// 返回结果:D:workspacelearningexample-everydayexample-2021.05.03.
System.out.println(fileCurrent2.getAbsoluteFile());

获取..路径

..../表示同一个路径,用过Linux系统的小伙伴应该很熟悉

// 路径为当前相对目录..时
File fileparent = new File("..");
// 返回结果:D:workspacelearningexample-everydayexample-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

本项目会持续每日更新,让我们一起学习,一起进步,遇见更好的自己,加油呀