仅获取路径目录并放弃Java中的文件

仅获取路径目录并放弃Java中的文件,java,file,Java,File,我们实际上如何从java字符串中丢弃最后一个文件,而只获取文件路径目录 用户输入的随机路径: C:/my folder/tree/apple.exe 期望输出: C:/my folder/tree/ 我找到的最接近的解决方案来自。这个论坛的答案只显示最后一个字符串,而不是它的其余部分。我想显示字符串的其余部分。最简单、最安全的(读取:跨平台)解决方案是从路径创建一个文件对象 像这样: File myFile = new File( "C:/my folder/tree/apple.exe"

我们实际上如何从java字符串中丢弃最后一个文件,而只获取文件路径目录

用户输入的随机路径:

C:/my folder/tree/apple.exe
期望输出:

C:/my folder/tree/

我找到的最接近的解决方案来自。这个论坛的答案只显示最后一个字符串,而不是它的其余部分。我想显示字符串的其余部分。

最简单、最安全的(读取:跨平台)解决方案是从路径创建一个
文件
对象

像这样:

File myFile = new File( "C:/my folder/tree/apple.exe" );
// Now get the path
String myDir = myFile.getParent();
试试看:

String path = "C:/my folder/tree/apple.exe";
path = path.substring(0, path.lastIndexOf("/")+1);

你应该考虑到,在我看来,分隔符并不能保证是向前斜杠,而不是制作文件。特别是如果所述文件实际上不存在(尚未)。非常适合我的需要。您不是通过创建
文件
对象来“创建文件”。它只是java.io函数的容器。或者使用getParentFile()而不是getParent()以文件对象而不是字符串结束。