List<String> path = Arrays.asList(Paths.get("").toAbsolutePath().toString().split("\\\\"));
System.out.println(path);
int removeJavaFile = path.size() - 1;
path.remove(removeJavaFile);
String filePath = path.stream().map(n -> String.valueOf(n)).collect(Collectors.joining("\\\\"));
System.out.println(filePath);
Run Code Online (Sandbox Code Playgroud)
我试图获取我的程序所在的目录,并最终使用它来获取文件的路径。我想过获取路径,然后将其拆分以稍后从路径中删除文件名以获取目录,但尽管使用了该.remove()方法,但未能做到这一点。有人可以帮我吗?
pathToFile.getParent()\nRun Code Online (Sandbox Code Playgroud)\nPath#getParent无需诉诸原始的字符串操作。Java NIO 将我们从特定于平台的细节中抽象出来。
\n调用Path#getParent以获取另一个路径对象,同时删除原始路径的最后一个元素。
Path pathToFile = Paths.get( "SomeFolder" , "SomeFile" ) ;\nPath pathToFolder = pathToFile.getParent() ;\nRun Code Online (Sandbox Code Playgroud)\nList#removeLast顺便回答一下你的问题的标题\xe2\x80\xa6
\n在 Java 21+ 中,List是SequencedCollection. 这带来了方便的新方法,例如removeLast。
myList.removeLast() ;\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
195 次 |
| 最近记录: |