Java 如何使用Jsoup进行多线程处理

Java 如何使用Jsoup进行多线程处理,java,multithreading,jsoup,Java,Multithreading,Jsoup,我正在尝试使用Jsoup从URl下载信息作为文本,然后使用多线程计算我想要实现的每个唯一单词的频率 如果我只给出一个url,我会得到输出,但当我给出更多url时,我会得到错误 import java.io.*; import java.net.*; import java.util.HashMap; import java.util.Map; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.p

我正在尝试使用Jsoup从URl下载信息作为文本,然后使用多线程计算我想要实现的每个唯一单词的频率 如果我只给出一个url,我会得到输出,但当我给出更多url时,我会得到错误


import java.io.*;
import java.net.*;
import java.util.HashMap;
import java.util.Map;

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



import org.jsoup.*;
public class JavaGetUrl {
public void downloadweb(String url) throws IOException  {
    //System.out.println(url);
    Document doc=Jsoup.connect(url).get();
    //System.out.println(doc.text());
    wordCounter(doc.text());

    }
public static void wordCounter(String s)
{

        String a[] = s.split(" ");
        Map<String, Integer> words = new HashMap<>();
        for (String str : a) {
            if (words.containsKey(str)) {
                words.put(str, 1 + words.get(str));
            } else {
                words.put(str, 1);
            }
        }
        System.out.println(words);
    }

   public static void main (String[] args) throws IOException {
       Mythread mt=new Mythread();
        Thread t=new Thread(mt);
        t.start();
} 
}
class Mythread extends JavaGetUrl  implements Runnable
{

    public void run()
    {
        try  
        {  

        File file=new File("Demo.txt");    //creates a new file instance  
        FileReader fr=new FileReader(file);   //reads the file  
        BufferedReader br=new BufferedReader(fr);  //creates a buffering character input stream  
            //constructs a string buffer with no characters  
        String line;  
        StringBuffer sb=new StringBuffer();

        while((line=br.readLine())!=null)  
        {  
        sb.append(line);      //appends line to string buffer  
        sb.append("\n");     //line feed   
        }  
        fr.close();    //closes the stream and release the resources  
        System.out.println("Contents of File: ");  
        System.out.println(sb.toString());
        JavaGetUrl jg=new JavaGetUrl();
        jg.downloadweb(sb.toString());

        //System.out.println(sb.toString());

        }  
        catch(IOException e)  
        {  
        e.printStackTrace();  
        }  
    }
}
我得到了这些错误 是否有某种方法可以使用Jsoup实现多线程?您的链接包含\n符号,因此它们是不正确的。 我认为您可以使用字符串列表,如下所示:

List<String> urls = new ArrayList<>();
while((line=br.readLine())!=null)  
    {  
        urls.add(line);      // adds line to the List of Strings 
    }  

另外,请注意代码格式。

@priteshjadav很高兴它有帮助!