无法从java中的当前目录中取回以前的路径名2文件夹

无法从java中的当前目录中取回以前的路径名2文件夹,java,Java,它显示我的当前路径- 当前dir=C:\Users\TKMAHQB\Desktop\New folder\ABC 但是我希望路径为-C:\Users\TKMAHQB 我该怎么办?试试这个: String currentpath = System.getProperty("user.dir"); System.out.println("current dir = " + currentpath); 这是一个包含所有系统属性的完整示例 user.name->用户帐户名 user.home->用户

它显示我的当前路径- 当前
dir=C:\Users\TKMAHQB\Desktop\New folder\ABC

但是我希望路径为-
C:\Users\TKMAHQB

我该怎么办?

试试这个:

String currentpath = System.getProperty("user.dir");

System.out.println("current dir = " + currentpath);
这是一个包含所有系统属性的完整示例

user.name->用户帐户名

user.home->用户的主目录

user.dir->用户的当前工作目录



“@rilent-如果我想要C:\Users\TKMAHQB\Desktop,那么代码是什么?”

如果文件夹可以变化,那么看看Arnaud的答案,我认为您需要user.home文件夹路径


新编辑:

很抱歉,我重新框定了我的问题…我的最后一个目录是修复…这里 请忽略上面的正确示例。。。。。。。。案例1) C:\Folder1\Folder2\Folder3\ABC\Folder5\Folder6我要导航到 ABC…第二种情况)C:\Folder1\Folder2\ABC\Folder5\Folder6…什么 应该是从背面进入ABC文件夹的方式

您有两种可能,如果您知道文件夹的名称,则循环getParent(),直到找到所需的文件夹名称,或者从user.home开始,然后构建文件夹名称的路径,如上面我的回答所示

您希望您的应用程序根据其相对位置知道它是否必须返回3个文件夹或5个文件夹,java中没有黑魔法。。。这就是应用程序崩溃的原因

如果你想从后面得到它,那么你必须递归地搜索你的目录,这里有一个简单的方法:mkyong.com/java/search-directories-recursive-for-file-in-java或使用file.listFiles(String)。我认为从user.dir目录开始,然后使用getParent()执行循环,直到到达ABC文件夹,这样性能会更好。

尝试以下方法:

String currentpath = System.getProperty("user.dir");

System.out.println("current dir = " + currentpath);
这是一个包含所有系统属性的完整示例

user.name->用户帐户名

user.home->用户的主目录

user.dir->用户的当前工作目录



“@rilent-如果我想要C:\Users\TKMAHQB\Desktop,那么代码是什么?”

如果文件夹可以变化,那么看看Arnaud的答案,我认为您需要user.home文件夹路径


新编辑:

很抱歉,我重新框定了我的问题…我的最后一个目录是修复…这里 请忽略上面的正确示例。。。。。。。。案例1) C:\Folder1\Folder2\Folder3\ABC\Folder5\Folder6我要导航到 ABC…第二种情况)C:\Folder1\Folder2\ABC\Folder5\Folder6…什么 应该是从背面进入ABC文件夹的方式

您有两种可能,如果您知道文件夹的名称,则循环getParent(),直到找到所需的文件夹名称,或者从user.home开始,然后构建文件夹名称的路径,如上面我的回答所示

您希望您的应用程序根据其相对位置知道它是否必须返回3个文件夹或5个文件夹,java中没有黑魔法。。。这就是应用程序崩溃的原因

如果你想从后面得到它,那么你必须递归地搜索你的目录,这里有一个简单的方法:mkyong.com/java/search-directories-recursive-for-file-in-java或使用file.listFiles(String)。我认为从user.dir目录开始,然后使用getParent()执行循环,直到到达ABC文件夹,这是更好的性能选择。

您可能需要使用,然后按需要的次数调用其父目录:

String currentpath = System.getProperty("user.home") + File.separator + "Desktop"; 
您可能需要使用,然后拨打其家长的电话号码:

String currentpath = System.getProperty("user.home") + File.separator + "Desktop"; 


我想要user.dir使用“user.home”返回3步的文件夹路径,而不是“user.dir”应该返回C:\Users\TKMAHQB,这是用户的主目录。我相信你没有读我的两行长的答案。@rilent-如果我想要C:\Users\TKMAHQB\Desktop,那么什么是代码字符串currentpath=System.getProperty(“user.home”)+File.separator+“Desktop”;但是,如果“桌面”可以改变,你应该考虑看@阿尔诺的回答,我相信你想要U.S.Hoad文件夹,正如上面所问的……是的,得到了阿尔诺的答案。无论如何,谢谢RelTune想要返回用户的3步文件夹的路径。脏用户“家”,而不是“用户DIR”应该返回C:\用户\ TKMAHQB,这是用户的主目录。我相信你没有读我的两行长的答案。@rilent-如果我想要C:\Users\TKMAHQB\Desktop,那么什么是代码字符串currentpath=System.getProperty(“user.home”)+File.separator+“Desktop”;但是,如果“桌面”可以改变,你应该考虑看@阿尔诺的答案,我相信你想要用户。如上所述…是的,从Arnaud那里得到了答案..无论如何,谢谢rilentIts不重复-我想要用户后退3步的文件夹路径。Dir其不重复的可能重复-我想要用户后退3步的文件夹路径。Dir@Arnaud的可能重复…谢谢。。它解决了我的问题。还有其他有效的方法吗。如果有?@Shiv这是Java中最可靠的方法,其他通过字符串破解的方法可能会更短,但可能会更错误prone@Arnaud-当我更改文件夹时,它会崩溃,我只想转到那个特定的文件夹我该怎么做…就像这里我想停在-MyCode……C:\Users\TKMAHQB\Desktop\MyCode\ABC代码没有问题,例如,我的主文件是MyCode…(第一种情况)当它保存在位置C:\Users\TKMAHQB\Desktop\MyCode\ABC时,它可以工作,但如果我保存在C:\Users\MyCode\ABC,它就可以了不工作,因为它将返回到我使用getParent()的固定时间。我的意思是说我在驱动器或文件夹中的任何位置。我应该返回MyCode文件夹。@Arnaud…谢谢。。它解决了我的问题。还有其他有效的方法吗。如果有?@Shiv这是Java中最可靠的方法,其他通过字符串破解的方法可能会更短,但可能会更错误prone@Arnaud-当我改变我的文件夹时,它崩溃了,我只想去那个特定的文件夹我该怎么做…像他一样