编程语言
首页 > 编程语言> > java – 如何动态更新绝对路径

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