首页 > 解决方案 > 使用 jsoup 库从 Internet 下载文件是一种好方法吗?

问题描述

我正在使用Jsoup库从 Internet 下载文件。我不知道使用Jsoup库是否使用Jsoup从 Internet 下载文件是一种好方法(因为 Jsoup 是一个 HTML 解析器)。我正在使用以下代码下载文件:

final Thread t = new Thread(new Runnable() {
    @Override
    public void run() {
        try {
            Connection.Response response = Jsoup.connect("URL")
                .ignoreContentType(true)
                .execute();

            BufferedInputStream inputStream = response.bodyStream();
            FileOutputStream fos = new FileOutputStream("location");
            byte[] buffer = new byte[1024];
            int len;
            while((len = inputStream.read(buffer)) != -1){
                fos.write(buffer, 0, len);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
});
t.start();

如果我使用 Jsoup 库下载文件会有问题吗?谢谢。

标签: javadownloadjsoup

解决方案


正如您自己提到的,jsoup 是一个用于处理真实 HTML 的 Java 库。它提供了一个非常方便的 API 用于提取和操作数据,使用最好的 DOM、CSS 和类似 jquery 的方法。

它现在可能对您有用,但您可能需要在不久的将来添加一些标头、超时等。因此最好使用 HTTPClient 来完成这项工作。HTTPClients 旨在进行客户端 HTTP 调用,这将比 JSoup 做得更好。

来自 apache 的一个这样的 HTTPClient:http: //hc.apache.org/httpclient-3.x/


推荐阅读