java – 如何动态更新绝对路径
作者:互联网
给出下面的传入路径,例如
C:\cresttest\parent_3\child_3_1\child_3_1_.txt
如何在上面的路径之间更新和添加新的dir以构造下面的结果
C:\cresttest\NEW_PATH\parent_3\child_3_1\child_3_1_.txt
目前我使用多个subString来识别传入路径,但传入路径是随机和动态的.使用子字符串并放置我的新路径需要更多的代码行或不必要的处理,是否有任何API或方法可以在绝对路径之间轻松更新和添加我的新目录?
解决方法:
通过使用java.nio.file.Path,您可以执行以下操作:
Path incomingPath = Paths.get("C:\\cresttest\\parent_3\\child_3_1\\child_3_1_.txt");
//getting C:\cresttest\, adding NEW_PATH to it
Path subPathWithAddition = incomingPath.subpath(0, 2).resolve("NEW_PATH");
//Concatenating C:\cresttest\NEW_PATH\ with \parent_3\child_3_1\child_3_1_.txt
Path finalPath = subPathWithAddition.resolve(incomingPath.subpath(2, incomingPath.getNameCount()));
然后,您可以通过调用finalPath.toUri()来获取路径URI
注意:这不依赖于路径中的任何名称,但它取决于目录深度,您可以在子路径调用中编辑它.
注意2:你可以减少你对一个实例的Path实例的数量,我做了三个以提高可读性.
标签:absolute-path,java,string 来源: https://codeday.me/bug/20190829/1761424.html