2021.05.03 Java常用文件路径
作者:@syske
本文为作者原创,转载请注明出处:https://www.cnblogs.com/caoleiCoding/p/14730101.html
在实际开发过程中,有时候我们需要获取项目下的一些资源文件,但是由于平时用的比较少,所以经常需要搜一下,然后测一下,没什么问题才会在项目中用起来,但是毕竟不方便,而且特别影响效率,今天我就抽点时间把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
本项目会持续每日更新,让我们一起学习,一起进步,遇见更好的自己,加油呀
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· 卧槽!C 语言宏定义原来可以玩出这些花样?高手必看!
· langchain0.3教程:从0到1打造一个智能聊天机器人