获取当前项目路径
获取当前项目路径
public class GetRootPath {
public static void main(String[] args) throws IOException {
GetRootPath test = new GetRootPath();
test.getpath();
}
public void getpath() throws IOException{
String path = "";
// 第1种:获取类加载的根路径
path = this.getClass().getResource("/").getPath();
System.out.println(path);
// 第2种:获取当前类的所在工程路径,不加“/” 获取当前类的加载目录
path = this.getClass().getResource("").getPath();
System.out.println(path);
// 第3种:获取项目路径
File file = new File("");
path = file.getCanonicalPath();
System.out.println(path);
// 第4种:获取当前运行的路径
URL path1 = this.getClass().getResource("");
System.out.println(path1);
// 第5种:获取项目路径
path = System.getProperty("user.dir");
System.out.println(path);
// 第6种:获取当前运行的路径
path = Thread.currentThread().getContextClassLoader().getResource("").getPath();
System.out.println(path);
// 第7种:表示到项目的根目录下, 要是想到目录下的子文件夹,修改"/"即可
// request.getSession().getServletContext().getRealPath("/");
return;
}
}
第五个方法的参数选择:
/**
* Key 中文描述
* 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 文件分隔符(在 UNIX 系统中是“/”)
* path.separator 路径分隔符(在 UNIX 系统中是“:”)
* line.separator 行分隔符(在 UNIX 系统中是“/n”)
* user.name 用户的账户名称
* user.home 用户的主目录
* user.dir 用户的当前工作目录
*
*/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构