除了使用`System.getProperty("user.dir")`,还有其他方法可以获取当前目录吗?
时间: 2024-02-01 22:11:12 浏览: 119
除了使用`System.getProperty("user.dir")`,还有其他方法可以获取当前目录。以下是几种常用的方法:
1. 使用`Paths.get("").toAbsolutePath().toString()`方法可以获取当前目录的绝对路径。
2. 使用`new File("").getAbsolutePath()`方法也可以获取当前目录的绝对路径。
3. 使用`new File("").getCanonicalPath()`方法可以获取当前目录的规范路径,即解析所有的符号链接和相对路径。
4. 使用`Thread.currentThread().getContextClassLoader().getResource("").getPath()`方法可以获取当前类加载器的根目录路径。
这些方法都可以用来获取当前目录的路径,你可以根据具体的需求选择适合的方法。
相关问题
如何绕过System.getProperty(user.dir)
为了更好地理解您的问题,我需要明确一下您希望绕过 `System.getProperty("user.dir")` 的目的是什么。`System.getProperty("user.dir")` 是用来获取当前工作目录的系统属性。在大多数情况下,您无法直接绕过或修改这个属性,因为它是由操作系统提供的。
如果您想获取除当前工作目录之外的其他目录,您可以尝试使用其他方式,例如使用绝对路径或相对路径来引用特定的目录。另外,您也可以考虑使用其他系统属性来获取不同的信息,如 `user.home`、`java.home` 等。
请提供更多关于您的需求的详细信息,以便我能够给出更准确的答案。
registry.addResourceHandler("/img/singerPic/**").addResourceLocations( "file:"+System.getProperty("user.dir")+System.getProperty("file.separator")+"img" +System.getProperty("file.separator")+"singerPic"+System.getProperty("file.separator") );这个代码是什么意思
这是一个 Java SpringBoot 框架下的配置,注册一个用于处理请求的资源处理器,用于访问 "/img/singerPic/**" 请求路径下的文件资源。该资源路径对应的是 "file:" 协议下的一个绝对路径,该路径就是程序的工作目录下的 "img/singerPic" 目录。
阅读全文