codice:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Main {



public static void main(String[] args) throws MalformedURLException, IOException {
       
try{
StringBuffer sb = new StringBuffer ();
int len;
char[] array = new char[10000];
String a;
URL url = new URL("http://www...");
URLConnection connessione = url.openConnection();
connessione.setDoInput(true);
connessione.setUseCaches(false);
BufferedReader pagina = new BufferedReader(new InputStreamReader(connessione.getInputStream()));
 while ((len = pagina.read (array)) > 0){
            sb.append (array, 0, len);}
a= sb.toString();
Pattern p = Pattern.compile("");
		Matcher m = p.matcher(a);

		while (m.find()) {
			System.out.println(m.group());}

       Pattern pa = Pattern.compile("");
       Matcher ma = pa.matcher(a);

		while (ma.find()) {
			System.out.println(ma.group());}
}


catch (IOException e)
    {
        System.out.println(e);
    }
}
}
Questo è il codice che sono riuscito a creare, e fortunatamente funziona, anche se alla fine mi restituisce questa eccezione:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Arrays.java:3209)
at java.lang.String.<init>(String.java:215)
at java.lang.StringBuffer.toString(StringBuffer.java: 585)
at javaapplication15.Main.main(Main.java:32)



Avrei ancora una richiesta da farvi:

l'ho testato facendo un ciclo che per cento volte scarica la pagina e trova determinati dati grazie alle regex, che poi mi fa apparire a video, solo che ho notato che il tempo di esecuzione è abbastanza alto (3 minuti e mezzo).
Qualche consiglio per velocizzare il tutto (sempre se esiste)???
può essere il fatto che io li faccia apparire a video piuttosto che inviarli direttamente al database che allunghi i tempi???
Dovendo scaricare questi dati in tempi brevi (dati proveniente da 400 pagine in una decina di minuti da caricare in un database), mi risulta fondamentale metterci il minor tempo possibile, considerando anche che per connetrmi a 400 pagine diverse piuttosto che a una sola i tempi dovrebbero allungarsi (gia 3min e 30 x 4 =14 min sono troppi).

Grazie ancora