aus einer Datei lesen?

Hallo,

sitze an einem Crawler...also er durchsucht Webseiten nach Links und speichert sie in einer txt.
Jetzt soll er die gespeicherten Links wieder aufrufen und da wieder das gleiche machen...aber nur bei Links bei denen er nochnicht war. Also müsste er bei jeden Link vorm öffen überprüfen ob der schon in der Liste steht.
Habt ihr ein paar Ideen wie ich das am besten angehe?
Bin für alles zu dankbar...Tips, Codeschnipsel und co.

MfG

hier noch mein Code bisher...

Java:
package crawler;



import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;

import java.net.URL;

import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Master {
    public Master() {
        Getsite();
    }

    public void Getsite() {
        try {
            System.out.println("Website (ex. http://www.yoursite.com):");

            String         text   = null;
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

            text = reader.readLine();

            try {
                URL            url  = new URL(text);
                BufferedReader br   = new BufferedReader(new InputStreamReader(url.openStream()));
                String         read = "";

                while (br.ready()) {
                    read += br.readLine();
                }

                br.close();

                Pattern          p    = Pattern.compile("<a.*?href=\"http://([^\"]+)\".*?>([\\w]+?)</a>");
                Matcher          m    = p.matcher(read);
                File             file = new File("ok.txt");
                FileOutputStream fout = new FileOutputStream(file);

                while (m.find()) {
                    String write = "http" + "://" + m.group(1) + "\r\n";

                    fout.write(write.getBytes());
                }

                fout.close();
                System.out.println("Links succesfully saved in file ok.txt");
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (IOException ex) {
            Logger.getLogger(Master.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
 
G

Gast2

Gast
Java:
                while (br.ready()) {
                    read += br.readLine();
                }
Ein wenig offtopic: Nimm dafür lieber einen StringBuilder. Ansonsten legts dir in jedem Schleifendurchlauf einen neuen String an wo immer eine Zeile angehängt ist.
 
ok wie er z.B. die erste Zeile aus der Datei list bekomme ich so hin:
Java:
FileReader fr = new FileReader("ok.txt");
    BufferedReader br = new BufferedReader(fr);

    String zeile1 = br.readLine();
    System.out.println(zeile1);

aber wie schaffe ich es das er automatisch jede zeile liest und sie wieder öffnet und die Links in ok.txt speichert?
Der müsste dann ja eig. unendlich weit durchlaufen können...
 
Ok, ich verzweifel hier grad ein bisschen...er liest jetzt die Links aus der Datei (ok.txt)...aber wie schaffe ich es das die Links mit meinem Crawler wieder öffnet und alle neuen Links in die Datei schreibt?
Java:
package crawler;

import java.io.*;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

class ReadFile3
{
  public static void main(String[] args) throws IOException
  {
    FileReader fr = new FileReader("ok.txt");
    BufferedReader br2 = new BufferedReader(fr);

    String zeile = "";

    while( (zeile = br2.readLine()) != null )
    {
      System.out.println(zeile);
    }

            try {
                URL            url  = new URL(zeile);
                BufferedReader br   = new BufferedReader(new InputStreamReader(url.openStream()));
                String         read = "";

                while (br.ready()) {
                    read += br.readLine();

                }

                br.close();

                Pattern          p    = Pattern.compile("<a.*?href=\"http://([^\"]+)\".*?>([\\w]+?)</a>");
                Matcher          m    = p.matcher(read);
                File             file = new File("ok.txt");
                FileOutputStream fout = new FileOutputStream(file);

                while (m.find()) {
                    String write = "http" + "://" + m.group(1) + "\r\n";

                    fout.write(write.getBytes());

                }

                fout.close();
                

            } catch (IOException e) {
                e.printStackTrace();
            }
        
        }





    }
 
Ok, ich habe es hinbekommen...jetzt liest er die erste ein und öffnet dann alles im Html-Code enthaltenen Links...und so weiter. Die besuchten Links werden dann in der ok.txt gespeichert.
aber nach ein paar Minuten kommen folgende Fehlermeldungen(habe auf News, Tests, Tipps, Cheats, Lösungen und Videos zu PC-Spielen - PC GAMES.DE gestartet):

Code:
run:
java.io.FileNotFoundException: http://extreme.pcgameshardware.de/newreply.php?do=newreply&amp;t=102842
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1311)
        at java.net.URL.openStream(URL.java:1010)
        at crawler.ReadFile3.main(readfile.java:54)
java.io.FileNotFoundException: http://www.pcgames.de/Heft-Archiv/
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1311)
        at java.net.URL.openStream(URL.java:1010)
        at crawler.ReadFile3.main(readfile.java:54)

er macht trotzdem weiter aber was sagen mir diese Fehler und wie bekomme ich sie weg oder wie kann ich sie umgehen?

und noch eine Frage wie sieht so eine Abfrage, überprüfe ob der Link schon in der Liste ist wenn ja überspringe ihn, in meinem Beispiel aus?

mein Prog:
Java:
package crawler;

import java.io.*;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;










class ReadFile3
{
  public static void main(String[] args) throws IOException
  {


           /* System.out.println("Website (ex. http://www.yoursite.com):");

            InputStreamReader eingabe = new InputStreamReader(System.in);
            BufferedReader ein = new BufferedReader(eingabe);
            File out = new File("ok.txt");

            
            FileOutputStream ausgabe = new FileOutputStream(out);
            DataOutputStream raus = new DataOutputStream(ausgabe);
            String s = ein.readLine();
            while (!s.equals(".")) {
                raus.writeBytes(s+"\n");
                s = ein.readLine();
       

            }

*/
    FileReader fr = new FileReader("ok.txt");
    BufferedReader br2 = new BufferedReader(fr);

    String zeile = "";

    while( (zeile = br2.readLine()) != null )
    
        
            try {
                URL            url  = new URL(zeile);
                BufferedReader br   = new BufferedReader(new InputStreamReader(url.openStream()));
                String         read = "";

                while (br.ready()) {
                    read += br.readLine();

                }

                

                Pattern          p    = Pattern.compile("<a.*?href=\"http://([^\"]+)\".*?>([\\w]+?)</a>");
                Matcher          m    = p.matcher(read);
                FileOutputStream fout = new FileOutputStream("ok.txt",/*append*/true);

                while (m.find()) {
                    String write = "http" + "://" + m.group(1) + "\r\n";

                    fout.write(write.getBytes());

                }

                
                

            } catch (IOException e) {
                e.printStackTrace();
            }
        
        }


    }

Danke!:)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Mit Scanner aus einer txt Datei lesen und jede Person mit name, vorname, geburtsdatum speichern Java Basics - Anfänger-Themen 5
E Input/Output Property-Datei aus einer Zip lesen in in einer anderen Zip-Datei ist Java Basics - Anfänger-Themen 3
D Problem beim Lesen einer txt-Datei Java Basics - Anfänger-Themen 8
M Wie sämtliche Schlüssel und Attibutwerte aus einer Propertie Datei lesen? Java Basics - Anfänger-Themen 3
Z Problem beim Lesen und Schreiben einer Datei Java Basics - Anfänger-Themen 10
C Wörter aus einer txt datei lesen Java Basics - Anfänger-Themen 19
M line.separator: Problem beim Lesen einer Datei Java Basics - Anfänger-Themen 11
Ollek Bestimmte Zeilen aus einer HTML Datei lesen Java Basics - Anfänger-Themen 8
M Probleme mit dem Lesen einer m3u-Datei Java Basics - Anfänger-Themen 8
T Zahlen aus einer Datei lesen Java Basics - Anfänger-Themen 3
B Wie eine bestimmte Zeile einer Txt-Datei lesen ? Java Basics - Anfänger-Themen 5
H Streams etc. erster Versuch Zeilen aus einer Datei zu lesen Java Basics - Anfänger-Themen 6
T Exception-Handling beim Lesen einer XML-Datei mit XMLDecoder Java Basics - Anfänger-Themen 4
C Komische Zeichen beim Lesen aus einer .reg-Datei Java Basics - Anfänger-Themen 2
M Zufällige Zeile aus einer Datei lesen Java Basics - Anfänger-Themen 2
J Lesen einer Datei in einen String oder Char? Java Basics - Anfänger-Themen 3
V Beim lesen aus einer Datei bekomme ich fehlerhafte Strings. Java Basics - Anfänger-Themen 2
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
B Popups mit Klicksabfangen zumAusfüllen einer .ods Datei Java Basics - Anfänger-Themen 0
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
Saiko Zeilen einer Datei einlesen Java Basics - Anfänger-Themen 3
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
J int innerhalb einer Datei ändern Java Basics - Anfänger-Themen 1
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
J Wert in einer json Datei ändern und speichern Java Basics - Anfänger-Themen 3
LetsSebi Methode, die einen arry von objekten speichert in einer datei Java Basics - Anfänger-Themen 6
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
O zufälliges Wort aus einer Datei einlesen Java Basics - Anfänger-Themen 32
J Ein Wort aus einer Datei zufällig ermitteln Java Basics - Anfänger-Themen 3
S Verbindung von einer Excel Datei zu Java-- Java Basics - Anfänger-Themen 4
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
I ArrayList - Methode zum Speichern eines Eintrags in einer Datei Java Basics - Anfänger-Themen 17
S Aus einer .bz2 Datei auslesen Java Basics - Anfänger-Themen 2
I Nur auf Abfrage von einer Text Datei einlesen Java Basics - Anfänger-Themen 11
E Einteilung der Räume mit einlesen einer .txt datei Java Basics - Anfänger-Themen 16
B Erstellung einer XML Datei Java Basics - Anfänger-Themen 8
D Erste Schritte Projekt in Ecplise in einer .zip Datei speichern Java Basics - Anfänger-Themen 8
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
S Wort suchen und ersetzen in einer Datei Java Basics - Anfänger-Themen 6
A Sortieren ausgerechneter Werte aus einer TXT Datei Java Basics - Anfänger-Themen 8
das_leon Alle Zeilen einer CSV-Datei auslesen Java Basics - Anfänger-Themen 1
C Zeilen aus einer Datei in Array speichern Java Basics - Anfänger-Themen 4
F Mehrere Zeilen zu einer Zeile zusammenfügen und in eine Datei schreiben Java Basics - Anfänger-Themen 1
MaximilianTM Input/Output Einlesen und bearbeiten einer text Datei / Zeile Java Basics - Anfänger-Themen 5
E Fehler beim Debuggen einer jsp-Datei Java Basics - Anfänger-Themen 3
S Text aus einer HTML Datei auslesen Java Basics - Anfänger-Themen 1
J Erstellen einer Datei ohne path Java Basics - Anfänger-Themen 1
V Klassen Fehler beim compilieren einer Datei in CamelCase Java Basics - Anfänger-Themen 2
M In einer Datei schreiben - Java Java Basics - Anfänger-Themen 3
M Eigenschaften einer Datei auslesen Java Basics - Anfänger-Themen 5
Alex/89 Werte einer .txt Datei sortieren Java Basics - Anfänger-Themen 8
N gerichteter Graph aus einer Datei einlesen Java Basics - Anfänger-Themen 21
J Encoding Problem beim Einlesen einer txt Datei mit Umlauten Java Basics - Anfänger-Themen 3
J Java - Abspielen einer wav Datei Java Basics - Anfänger-Themen 2
F Zeichen einer Datei zaehlen Java Basics - Anfänger-Themen 1
I Klassen Mehrere Java Klassen in einer .java Datei Java Basics - Anfänger-Themen 7
M Pfad zu einer Datei in einer exportierten Jar-Datei Java Basics - Anfänger-Themen 5
Z Greenfoot Variable in einer Datei und nicht in einem Objekt/World speichern Java Basics - Anfänger-Themen 1
S Eine Spalte einer CSV Datei ausgeben Java Basics - Anfänger-Themen 2
J Zeilen aus einer .txt-Datei auslesen und Variablen zuweisen Java Basics - Anfänger-Themen 11
J Eingabeaufforderung stürzt ab (beim Ausführen einer Java-Datei) Java Basics - Anfänger-Themen 3
K Inhalt von einer csv-Datei abspeichern Java Basics - Anfänger-Themen 3
M Kopieren einer .wav Datei Java Basics - Anfänger-Themen 6
A Hashwert einer Datei berechnen Java Basics - Anfänger-Themen 3
J Daten von einer PHP Datei ablesen Java Basics - Anfänger-Themen 1
I Authentifizierung einer iCal- Datei auf einer Webseite Java Basics - Anfänger-Themen 1
kaoZ Input/Output Android : Deserialisieren von mehreren Objekten in einer Datei Java Basics - Anfänger-Themen 0
C auslesen bestimmter werte einer textdatei und anschl. hineinschreiben in eine neue txt-datei. Java Basics - Anfänger-Themen 2
N Bestimmte Zeile aus einer Datei auslesen Java Basics - Anfänger-Themen 10
O Auflösung einer Bild-Datei bekommen ohne sie herunterzuladen?? Java Basics - Anfänger-Themen 7
S Input/Output einlesen aus einer evtl. leeren Datei Java Basics - Anfänger-Themen 5
S Erste Schritte Ausführen einer Class Datei Java Basics - Anfänger-Themen 6
L Split + Zeilen einer Datei mit bestimmtem Inhalt löschen Java Basics - Anfänger-Themen 23
T NullPointerException bei Verwendung einer Klasse einer anderen .jar datei Java Basics - Anfänger-Themen 3
D Input/Output Mehrere Objecte in einer Datei Java Basics - Anfänger-Themen 5
M Größe einer Datei via. Link ermitteln Java Basics - Anfänger-Themen 9
E Anmeldung an Webseite und Abruf einer Datei Java Basics - Anfänger-Themen 3
P Interpreter-Fehler Probleme beim Ausführen einer Jar Datei Java Basics - Anfänger-Themen 2
A Werte per Zufall aus einer Datei ziehen und in eine neue Datei schreiben Java Basics - Anfänger-Themen 9
U Öffnen einer war-Datei Java Basics - Anfänger-Themen 3
J Öffnen einer jar-Datei Java Basics - Anfänger-Themen 22
S JTabbedPane jeder Tab in einer eigenen java Datei? Java Basics - Anfänger-Themen 3
S Arbeiten mit einer CSV Datei und Überprüfen von einem Datum in einem Textfeldern Java Basics - Anfänger-Themen 4
A Problem beim Ausführen einer .jar datei auf externen System Java Basics - Anfänger-Themen 5
K Starten einer ausführbaren JAR Datei Java Basics - Anfänger-Themen 8
F META-INF/persistence.xml in einer war-Datei Java Basics - Anfänger-Themen 6
R Kopieren einer Datei Java Basics - Anfänger-Themen 18
M Speichern in einer .txt Datei Java Basics - Anfänger-Themen 3
K Dekomprimieren einer Datei.txt Java Basics - Anfänger-Themen 22
L Problem beim Einlesen einer Datei in einen String Java Basics - Anfänger-Themen 12
A Umwandlung einer Datei ins int Java Basics - Anfänger-Themen 26
D Amplitude einer 8-Bit *.wav Datei Java Basics - Anfänger-Themen 2
H Pseudo-Stack (char[] stackArray) mit Zeichen aus einer .txt-Datei befüllen Java Basics - Anfänger-Themen 5
G Input/Output Zeilenanzahl einer .txt Datei ausgeben Java Basics - Anfänger-Themen 2
B Werte der Variable aus Klasse JTextArea in einer Datei der Klasse RandomAcessFile speichern Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben