Ne Frage zu Pattern Matching

Die Beispiele aus dem Internet werfen aber immer eine Exception:
Code:
java.net.MalformedURLException: no protocol: 
	at java.net.URL.<init>(URL.java:567)
	at java.net.URL.<init>(URL.java:464)
	at java.net.URL.<init>(URL.java:413)
	at Seitenleser.lese(Seitenleser.java:60)
	at Seitenleser.<init>(Seitenleser.java:14)
	at Seitenleser.main(Seitenleser.java:79)
 
Hi,

wenn alle das tun, wirds wohl an Dir liegen.... :D
Also ich würde die Fehlermeldung so interpretieren, dass Du kein Protokoll wie z.B. Http, oder FTP etc. angegeben hast. Poste doch mal den Codeteil, dann kann man mehr sagen.

Gruss
 
ok, jhier ist mein Code:

Code:
import java.io.*;
import java.net.*;
import java.util.*;
import java.util.regex.*;

public class Seitenleser {
	ArrayList<URL> seiten = new ArrayList<URL>();

	public Seitenleser() {
		try {
			seiten.add(new URL("http://www.icq.de"));
		} catch (MalformedURLException e) {}
		lese();
	}

	public void lese() {
		for (int i = 0; i < seiten.size(); i++) {
			URL seite = seiten.get(i);
			StringBuffer content = new StringBuffer();

			System.out.println(seite.toString());

			BufferedInputStream reader;
			try {
				reader = new BufferedInputStream(seite.openStream());
			} catch (IOException e) {
				seiten.remove(i);
				continue;
			}
			while (true) {
				int zeichen;
				try {
					zeichen = reader.read();

					if (zeichen == -1)
						break;
					// System.out.print((char) zeichen);
					content.append((char) zeichen);
				} catch (IOException e) {
				}
			}

			System.out.println("Suche nach verlinkten Seiten.");
			System.out.println("-----------------------------------------------");
			String inhalt = content.toString();

			Pattern p = Pattern.compile("(([a-zA-Z][0-9a-zA-Z+\\-\\.]*:)?/{0,2}[0-9a-zA-Z;/?:@&=+$\\.\\-_!~*'()%]+)?(#[0-9a-zA-Z;/?:@&=+$\\.\\-_!~*'()%]+)?");
			
			Matcher m = p.matcher(inhalt);

			while (m.find()) {
				
                                //Hier liegt irgendwo der Fehler.
				try {
					if (!seiten.contains(new URL(m.group()))) {
						seiten.add(new URL(m.group()));
					}
				} catch (MalformedURLException e) {
					e.printStackTrace();
					System.exit(1);
				}
				
			}
		}
		System.out.println("Fertig");
		System.out.println("");
		System.out.println("Durchsuchte Seiten");
		for(int i=0; i<seiten.size(); i++) {
			System.out.println(seiten.get(i));
		}
	}

	public static void main(String[] args) {
		new Seitenleser();
	}
}
 
Zurück