Java 如何获取当前路径?
我正在尝试获取系统的当前路径。我将此声明用于此目的:Java 如何获取当前路径?,java,Java,我正在尝试获取系统的当前路径。我将此声明用于此目的: String currentPath = System.getProperty("user.dir"); 例如,当我从E:\运行此语句时。我得到E:\ 但当我从桌面运行时,我得到C:\users\zavarghadim\desktop。缺少最后一条斜线(\)。为什么会这样?在这两种类型中,我都需要最后一个斜杠c:\users\zavargadim\desktop\ 有人能帮我解决这个问题吗?试试这个 Paths.get(".").toAbs
String currentPath = System.getProperty("user.dir");
例如,当我从E:\
运行此语句时。我得到E:\
但当我从桌面运行时,我得到C:\users\zavarghadim\desktop
。缺少最后一条斜线(\)
。为什么会这样?在这两种类型中,我都需要最后一个斜杠c:\users\zavargadim\desktop\
有人能帮我解决这个问题吗?试试这个
Paths.get(".").toAbsolutePath().normalize().toString()
试试这个
Paths.get(".").toAbsolutePath().normalize().toString()
它为您提供用户工作目录
String currentPath = System.getProperty("user.dir");
您需要使用getRoot,以便仅获取此路径的根组件
Paths.get(currentPath).getRoot()
它为您提供用户工作目录
String currentPath = System.getProperty("user.dir");
您需要使用getRoot,以便仅获取此路径的根组件
Paths.get(currentPath).getRoot()
试试这个
currentpath是当前java项目的根文件夹。可以使用系统属性函数检索它
String currentpath = System.getProperty("user.dir");
System.out.println("current path is:" + currentpath);
试试这个
currentpath是当前java项目的根文件夹。可以使用系统属性函数检索它
String currentpath = System.getProperty("user.dir");
System.out.println("current path is:" + currentpath);
E:\
是E:
drive的根目录,c:\users\zavargadim\desktop
是desktop
目录,它们的含义基本相同。您可以使用File(String,String)
来构造目录/路径组合,如果您需要的话。您的意思是您想要这样的“c:\users\zavargadim\desktop\”?user.dir
可以根据任意数量的因素(用户输入目录的方式、操作系统、shell选项等等)具有或不具有尾部斜杠。不要依赖它是否有一个尾随斜杠,如果你需要使用它,你可以自己验证它。E:\
是E:
drive的根目录,c:\users\zavargadim\desktop
是desktop
目录,它们的含义基本相同。您可以使用File(String,String)
来构造目录/路径组合,如果您需要的话。您的意思是您想要这样的“c:\users\zavargadim\desktop\”?user.dir
可以根据任意数量的因素(用户输入目录的方式、操作系统、shell选项等等)具有或不具有尾部斜杠。不要依赖于它是否有一个尾随斜杠,如果你需要使用它,请自己验证它。对不起,我是java新手,我使用你的想法,但编译器说:找不到符号:路径。我应该导入其他任何java.io.*?对<代码>导入java.nio.file.*代码>请原谅,当我使用您的语句时,会出现以下错误:不兼容的类型getRoot()必需字符串,但找到了我使用的路径:字符串currentPath=Paths.get(currentPath).getRoot();如果要强制转换为字符串,则需要编写:string currentPath=path.get(currentPath.getRoot().toString()代码>对不起,我是java新手,我使用了你的想法,但是编译器说:找不到symbol:path。我应该导入其他java.io.*?对<代码>导入java.nio.file.*代码>请原谅,当我使用您的语句时,会出现以下错误:不兼容的类型getRoot()必需字符串,但找到了我使用的路径:字符串currentPath=Paths.get(currentPath).getRoot();如果要强制转换为字符串,则需要编写:string currentPath=path.get(currentPath.getRoot().toString()对不起,我应该这样使用你的想法吗?String path=path.get(“.”).toAbsolutionPath().normalize().toString()对不起,您的语句也给出了c:\users\zavarghadim\desktop而不是c:\users\zavarghadim\desktop\对不起,我应该这样使用您的想法吗?字符串路径=路径。获取(“.”)。ToAbsolutionPath().normalize().toString()对不起,您的声明也给出了c:\users\zavarghadim\desktop而不是c:\users\zavarghadim\desktop\I使用了它,但这不是答案。我可以知道您真正想要的输出吗?我有一个应用程序,并在驱动程序和桌面中运行它。当我从d:\运行时,我得到d:\结果,但当从dekstop运行时,我得到这个结果:c:\users\zavargadim\desktop. 我想要c:\users\zavargadim\desktop\您可以在外部将\添加到字符串中,并且可以在任何地方使用字符串currentpath=System.getProperty(“user.dir”);“”字符串newCurrentPath=currentpath+“\”;'我使用了它,但它不是答案。我可以知道你真正想要什么输出吗?我有一个应用程序,并在驱动程序和桌面上运行它。当我从d:\运行时,我得到d:\结果,但当从dekstop运行时,我得到以下结果:c:\users\zavargadim\desktop。我想要c:\users\zavargadim\desktop\您可以在外部将\添加到字符串中,并且可以在任何地方使用字符串currentpath=System.getProperty(“user.dir”);“”字符串newCurrentPath=currentpath+“\”;'