我正在尝试获取文件的目录路径。我遇到的问题是获取目录的最后一个\
或/
。由于该代码应该在所有操作系统上都能工作,因此我似乎找不到任何解决方案。任何帮助表示赞赏。
到目前为止,我的代码:
System.out.print("Enter dir: ");
String path = kb.nextLine();
File pathes = new File(path);
String path2 = pathes.getParent();
path = path.substring(0, path.lastIndexOf("\\")+1);
System.out.println("PATH: " + path);
System.out.println("PATH2: "+path2);
我的输出是:
PATH: C:\Users\User\Desktop\test\
PATH2: C:\Users\User\Desktop\test
这只是测试代码,而不是我正在使用的真实代码。
编辑
我想要得到的是
C:\Users\User\Desktop\test\
从
C:\Users\User\Desktop\test\test.txt
最佳答案
要获取父目录的绝对路径,可以执行以下操作:
File f = new File("C:\\Users\\User\\Desktop\\test\\test.txt");
String path = f.getParentFile().getAbsolutePath();
System.out.println(path);
输出:
C:\Users\User\Desktop\test
如果您确实想要结尾的斜杠,则可以附加
File.separator
:File f = new File("C:\\Users\\User\\Desktop\\test\\test.txt ");
String path = f.getParentFile().getAbsolutePath() + File.separator;
System.out.println(path);
输出:
C:\Users\User\Desktop\test\