在Jsoup中导入HTML文件时发生错误

问题描述

根据教程链接HTML导入https://www.tutorialspoint.com/jsoup/jsoup_load_file.htm文件

import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class jsoupTester {
    public static void main(String[] args) throws IOException,URISyntaxException {

        URL path = ClassLoader.getSystemResource("test.htm");
        File input = new File(path.toURI());
        Document document = Jsoup.parse(input,"UTF-8","");
        System.out.println(document.title());
    }
}

运行程序时出现此错误

Exception in thread "main" java.lang.NullPointerException
    at jsoupTester.main(jsoupTester.java:13)

注意:jsoupTester.java文件和temp.htm位于同一位置

我可以知道如何解决此问题吗?您的建议将不胜感激:)

解决方法

您是否已正确检查网站?代码文档显示了这一点

import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class JsoupTester {
   public static void main(String[] args) throws IOException,URISyntaxException {
      
      URL path = ClassLoader.getSystemResource("test.htm");
      File input = new File(path.toURI());
      Document document = Jsoup.parse(input,"UTF-8"); // Only 2 parameters
      System.out.println(document.title());
   }
}

错误

Document document = Jsoup.parse(input,"UTF-8",""); // 3rd parameter is not included in the documentation

如您所见,错误是您有另一个冗余参数,我认为这是导致错误的原因。在您的代码中删除该"",它将正常工作。希望能回答您的问题:)