Java:我如何找到只有一部分单词的文件夹



我正在尝试恢复包含通往文件夹路径的字符串。我只想用文件夹名称的一部分来做。

所以说我有一个在" usr/share/xpement-1"中的文件夹,称为"示例1",我希望能够通过匹配" usr/share/ex"。

<。

只是从最后一个完全给定的目录(usr/share/)开始,然后搜索以剩余的开始的文件(ex)。

因此,第一个单独的完整>不完整

String input = ...
int lastDirIndex = input.lastIndexOf("/");
String lastDirText = input.substring(0, lastDirIndex);
String prefix = input.substring(lastDir + 1);

然后解析目录lastDirText,获取所有文件,并为以prefix开头的文件进行过滤:

Path dir = Paths.get(lastDirText);
List<Path> matchingFiles = Files.walk(dir, 1)
    .filter(path -> path.getFileName().startsWith(prefix))
    .collect(Collectors.toList());

列表matchingFiles然后包含与给定前缀匹配的所有文件。

如果您不想将搜索仅限为一个深度级别您可以调整Files#walk(文档)方法中的深度,甚至可以将其完全删除,以最大深度。您还可以在此方法中设置一些FileVisitOptionS。

相关内容

最新更新