gpt4 book ai didi

java - 如果适用,使用 Jsoup 返回目录列表向下 2 层

转载 作者:行者123 更新时间:2023-12-01 09:33:44 28 4
gpt4 key购买 nike

我正在使用 Jsoup 返回在指定目录中找到的文件列表。我使用以下代码来完成此操作:

public List<String> getDirectoryListing(String urlPath)throws{
InitParams ip = new InitParams();
Elements links;
List<String> directoryListing = new ArrayList<>();

try{
Document doc = Jsoup.connect("http://" + urlPath).get();

links = doc.select("body a");
for (Element link : links){
directoryListing.add(link.text());
}
} catch (Exception ex) {
ex.printStackTrace();
}

return directoryListing;
}

但是,我有不同的情况,其中可能有另一个文件夹,其中包含该文件。

我需要检查返回的是否是一个目录,如果是的话,进入其中并返回文件。

有人知道怎么做吗?

最佳答案

其中需要一些递归逻辑,其中该方法调用自身来列出子文件夹中的文件。然后它将根据您的需要深入到任意多个级别。您将需要一个比字符串更复杂的对象来容纳子对象。我会为你开设自己的类(class)。

伪代码,像这样,这是不可编译的,但它中继了算法

public List<WebFile> getFiles(urlPath) {
List webFiles = new web files list;

List urlFilesList = methodToGetWebFilesList(urlPath);
foreach urlFile in urlFiles {
//constructor has logic to parse whatever is in URL file and
//determine if it is a director
WebFile webFile = new WebFile(urlFile);

if "webFile" is a directory {
//recursive call to self, drill down into this file
children = getFiles(urlFile);
webFile.children.addAll(children);
}
}
}

关于java - 如果适用,使用 Jsoup 返回目录列表向下 2 层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39170334/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com