在spring boot 中使用new File("") 与使用System.getProperty("user.dir") 获取路径的区别
时间: 2023-11-28 12:13:00 浏览: 85
在Spring Boot中使用`new File("")`与使用`System.getProperty("user.dir")`获取路径之间的区别在于它们返回的路径不同。
`new File("")`返回的是应用程序所在的当前工作目录,即应用程序启动时的当前目录。
而`System.getProperty("user.dir")`返回的是用户当前工作目录,即应用程序的运行时环境中的当前目录。
因此,如果您需要访问应用程序启动时的当前目录中的文件,请使用`new File("")`。如果您需要访问应用程序运行时环境中的当前目录中的文件,请使用`System.getProperty("user.dir")`。
相关问题
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" 目录。
如何绕过System.getProperty(user.dir)
为了更好地理解您的问题,我需要明确一下您希望绕过 `System.getProperty("user.dir")` 的目的是什么。`System.getProperty("user.dir")` 是用来获取当前工作目录的系统属性。在大多数情况下,您无法直接绕过或修改这个属性,因为它是由操作系统提供的。
如果您想获取除当前工作目录之外的其他目录,您可以尝试使用其他方式,例如使用绝对路径或相对路径来引用特定的目录。另外,您也可以考虑使用其他系统属性来获取不同的信息,如 `user.home`、`java.home` 等。
请提供更多关于您的需求的详细信息,以便我能够给出更准确的答案。
阅读全文