Java 编程 Jsoup

Java Programming Jsoup

我正在使用以下代码以一种方法保存某些网页的内容,但我一直遇到错误:("Cannot make a static reference to the non-static method convertor() from the type ConvertUrlToString")

请考虑我刚刚使用这个 class 来查找我的主要项目的问题,我在另一个 class 中有类似的方法 ( convertor() ) 而没有 "public static void main(String args[])"

package testing;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class ConvertUrlToString {
    public static void main(String args[]) throws IOException{
        convertor(); 
    }
    public void convertor() throws IOException    
    {
         Document doc =                        Jsoup.connect("http://www.willhaben.at/iad/immobilien/mietwohnungen/wien/wien-1060-        mariahilf/").get();
         String text = doc.body().text();
         Document doc1 = Jsoup.connect("http://www.google.at/").get();
         String text1 = doc1.body().text();    
         Document doc2 = Jsoup.connect("http://www.yahoo.com/").get();
         String text2 = doc2.body().text();
         System.out.println(text);
         System.out.println(text1);
         System.out.println(text2);
    }  
}

只需在您的转换器方法中添加一个静态关键字。由于您试图在静态上下文(main 方法)中调用它,因此此方法必须是静态的。如果你不想让它成为静态的,你需要创建一个 ConvertUrlToString 的实例,然后它们调用转换器方法。

public static void main( String[] args ) {
    try {
        convertor();
    catch ( IOException exc ) {
    }
}

public static void convertor() throws IOException {
    ...
}

或者

public static void main( String[] args ) {
    try {
        new ConvertUrlToString().convertor();
    catch ( IOException exc ) {
    }
}

public void convertor() throws IOException {
    ...
}