我想获取给定标记“html”后的路径,这是一个修复标记,文件路径如下
String token = "html"
Path path = D:\data\test\html\css\Core.css
Expected Output : css\Core.css
下面是程序的输入文件夹。和定义为代码中的常量。
public static final String INPUT_DIR = "D:\data\test\html"
这将包含输入html,css,js文件。并希望将这些文件复制到不同的位置E:\data\test\html\ here,因此只需从输入文件路径中提取html后的子路径,将其附加到输出路径。
假设输入文件是
D:\data\test\html\css\Core.css
D:\data\test\html\css\Core.html
D:\data\test\html\css\Core.js
因此,我想提取css\Core.css、css\Core.html、css\Core.js,将其附加到目标路径E:\data\test\html\以进行复制。
已在字符串[]数组=路径.tostring().split(“html”)下尝试;字符串子路径=数组[1];
Output : \css\Core.css
这不是预期输出,预期输出为css\Core.css此外,上述代码不适用于以下路径
Path path = D:\data\test\html\bla\bla\html\css\Core.css;
String [] array = path.toString().split("html");
String subpath = array[1];
在本例中,我得到了类似\bla\bla\的结果,这是意料之外的。
3条答案
按热度按时间7cwmlq891#
如果您只需要字符串形式的路径,另一种解决方案是使用以下代码:
您可以如上所述将路径替换为file.getAbsolutePath()。
nue99wik2#
这段代码使用递归函数搜索起始目录的所有子目录,如果找到目标文件(在本例中为“target-file.txt”),则打印该文件的路径。
您可以修改此代码以满足特定需要,例如更改起始目录或目标文件名。您还可以修改代码以对目标文件执行不同的操作,例如阅读其内容或将其复制到其他位置。
yh2wf1be3#
你的问题不够详细。
这里有六种不同的方法(没有迭代,正如您在注解中所述)。前两种使用
java.nio.file.Path
的方法。后两种使用java.lang.String
的方法。最后两种使用regular expressions。注意,可能还有其他方法。运行以上代码将生成以下输出:
我假设您知道如何修改上述内容,以便
我想获取
/test
之后的文件路径