email harvester

0

Witam mam problem z takim kodem . Powienien on szukać maili ,lecz tego nie robi. Jezli zmienie wyrazenie regularne na linki to dziala bez problemu .Widzi ktoś jakiś błąd?

 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.ArrayList;

/**
 *
 * @author Blizzard
 */
public class niuchacz extends Thread {

    static int getLengthOfTask() {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    

    private String pobierzStrone(String adres, int port, String sciezka) throws UnknownHostException, IOException {


        PrintWriter netOut = null;
        BufferedReader netIn = null;
        
        try {
            Socket s = new Socket(adres, port);
            netIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
            netOut = new PrintWriter(s.getOutputStream());


            netOut.println("GET " + sciezka + " HTTP/1.1");
            netOut.println("HOST: " + adres);
            netOut.println();
            netOut.flush();
            StringBuilder page = new StringBuilder();
            String line;

            while ((line = netIn.readLine()) != null) {
;
                page.append(line).append("\n");

            }
            String pageStr = page.toString();
            

            return pageStr;


        } finally {
            try {
                if (netIn != null) {
                    netIn.close();
                }
                if (netOut != null) {
                    netOut.close();

                }


            } catch (IOException ex) {
                System.out.println(ex);
            }
        }

    }

    public String[] znajdzLinki(String adres, int port, String sciezka) throws UnknownHostException, IOException {

        String strona = pobierzStrone(adres, port, sciezka);

        String[] tab1 = strona.split("[a-zA-Z0-9\\._%+-]+@[A-Z0-9.-]+\\.[a-zA-Z]{2,4}");
        ArrayList<String> linki = new ArrayList<String>();



        for (int i = 1; i < tab1.length; ++i) {
            String[] tab2 = tab1[i].split("\"");

            String lnk = tab2[0];
            linki.add(lnk);

        }

        String[] linkiTab = linki.toArray(new String[1]);
        return linkiTab;

    }
    @Override
    public void run() {
    }
}
0

Moim zdaniem split() jest tutaj bez sensu zupelnie.

0

Chodzi o to że mam napisać program na zaliczenie który będzie szukał maili. I drugi który będziesz szukał linków. Z linkami już sobie poradziałem i działa. Więc pomyślałem ze przerobie linki zeby szukał maili. Tylko nie moge sobie z tym poradzić. Może mam jakiś bład w myśleniu

1 użytkowników online, w tym zalogowanych: 0, gości: 1