我在线程" main"中有一个例外。带有jsoup的java.lang.IllegalArgumentException

时间:2015-03-13 17:45:13

标签: java jsoup

package asdf;
import org.jsoup.Jsoup;
import org.jsoup.helper.Validate;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;
public class asdasd {
    public static void main(String[] args) throws IOException {
         Validate.isTrue(args.length == 1, "usage: supply url to fetch");
            String url = args[0];
            print("Fetching %s...", url);

            Document doc = Jsoup.connect(url).get();
            Elements links = doc.select("a[href]");
            Elements media = doc.select("[src]");
            Elements imports = doc.select("link[href]");

            print("\nMedia: (%d)", media.size());
            for (Element src : media) {
                if (src.tagName().equals("img"))
                    print(" * %s: <%s> %sx%s (%s)",
                            src.tagName(), src.attr("abs:src"), src.attr("width"), src.attr("height"),
                            trim(src.attr("alt"), 20));
                else
                    print(" * %s: <%s>", src.tagName(), src.attr("abs:src"));
            }

            print("\nImports: (%d)", imports.size());
            for (Element link : imports) {
                print(" * %s <%s> (%s)", link.tagName(),link.attr("abs:href"), link.attr("rel"));
            }

            print("\nLinks: (%d)", links.size());
            for (Element link : links) {
                print(" * a: <%s>  (%s)", link.attr("abs:href"), trim(link.text(), 35));
            }
        }

        private static void print(String msg, Object... args) {
            System.out.println(String.format(msg, args));
        }

        private static String trim(String s, int width) {
            if (s.length() > width)
                return s.substring(0, width-1) + ".";
            else
                return s;
        }




    }

这是我的代码。我正在使用jsoup,它给我一个这样的错误:

Exception in thread "main" java.lang.IllegalArgumentException: usage: supply url to fetch
    at org.jsoup.helper.Validate.isTrue(Validate.java:45)
    at asdf.asdasd.main(asdasd.java:11)

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:-1)

看起来Validate.isTrue方法正在检查args.length == 1是否正常,并且结果是IllegalArgumentException

因此,如果传入一个参数,则参数数组将如下所示:

arg[0] == "passed_argument"