Guten Abend zusammen,
Ich muss ein Java-Programm schreiben, welches aus einer lokal vorliegenden html-Datei alls URLs ausliest, formatiert und ausgiebt. Per Vorgabe muss ich leider mit 2 Klassen arbeiten, einer Dialogklasse für die Ein- und Ausgaben, sowie einer Klasse, welche die URLs sucht und formatiert.
Mit einer Klasse habe ich das ganze schon zum laufen gebracht, allerdings tue ich mir nun mit der Ausgabe in der 2. Klasse schwer. Da ich mich erst seit kurzen mit Java beschäftige, weis ich leider nicht wie ich das Problem lösen soll.
Hier mein Quelltext:
Dialogklasse:
Klasse in der die URLs verarbeitet werden:
An der Markierten Stelle in der Dialogklasse bekomme ich folgenden Fehler:
method filter in class UrlFilter cannot be applied to given types;
required: java.lang.String; found: no arguemnts; reason: actual and formalargument lists differ in length
Habe ich den falschen Ansatz gewählt? Oder weshalb funktioniert die Übergabe der Ausgabe nicht?
Hoffe ihr könnt mir helfen.
Grüße,
Beware
Ich muss ein Java-Programm schreiben, welches aus einer lokal vorliegenden html-Datei alls URLs ausliest, formatiert und ausgiebt. Per Vorgabe muss ich leider mit 2 Klassen arbeiten, einer Dialogklasse für die Ein- und Ausgaben, sowie einer Klasse, welche die URLs sucht und formatiert.
Mit einer Klasse habe ich das ganze schon zum laufen gebracht, allerdings tue ich mir nun mit der Ausgabe in der 2. Klasse schwer. Da ich mich erst seit kurzen mit Java beschäftige, weis ich leider nicht wie ich das Problem lösen soll.
Hier mein Quelltext:
Dialogklasse:
Java:
public class UrlFilterDialog
{
import de.htw.saarland.stl.Stdin;
import java.io.*;
private UrlFilter UrlFilter;
String eingabe = "";
private final static String EXIT = "ende";
public void start() {
UrlFilter = null;
String eingabe = "";
while (eingabe != EXIT) {
eingabe = einlesenEingabe();
}
}
private String einlesenEingabe() {
System.out.println("Bitte Zieldatei eingeben. Die Datei muss ich im Projektordner befinden.");
System.out.println("Achtung: \"a href\" muss in der Quelldatei kleingeschrieben sein!!!");
eingabe = Stdin.readlnString("Dateiname: ");
UrlFilter = new UrlFilter();
try{
UrlFilter.filtern(eingabe);
}
catch (Throwable e) {
System.out.println("Fehler: " + e);
e.printStackTrace(System.out);
}
return eingabe;
}
public void ausgabe(String[] args) {
System.out.println(UrlFilter.filtern()); // Fehler: Siehe unten
}
public static void main (String[] args)
{
try
{
UrlFilterDialog urlFilterDialog = new UrlFilterDialog();
urlFilterDialog.start();
}
catch(Throwable e)
{
System.out.println("Fehler: " + e);
e.printStackTrace(System.out);
}
}
}
Klasse in der die URLs verarbeitet werden:
Java:
import de.htw.saarland.stl.Stdin;
import java.io.*;
public class UrlFilter
{
public String filtern(String eingabe) throws IOException
{
FileReader fr = new FileReader(eingabe);
BufferedReader br = new BufferedReader(fr);
String zeile = "";
String url = "";
String urlName = "";
String ausgabe = "";
String ende = "";
while((zeile = br.readLine()) != null)
{
if(zeile.matches(".*href=.*"))
{
url = zeile.replaceAll(".*href=\"", "");
url = url.replaceAll("\".*", "");
urlName = zeile.replaceAll(".*\">", "");
urlName = urlName.replaceAll("<.*", "");
ausgabe = (ausgabe + urlName + "\t\t" + "URL: " + url + "\n");
}
}
br.close();
//System.out.println(ausgabe);
return ausgabe;
}
}
An der Markierten Stelle in der Dialogklasse bekomme ich folgenden Fehler:
method filter in class UrlFilter cannot be applied to given types;
required: java.lang.String; found: no arguemnts; reason: actual and formalargument lists differ in length
Habe ich den falschen Ansatz gewählt? Oder weshalb funktioniert die Übergabe der Ausgabe nicht?
Hoffe ihr könnt mir helfen.
Grüße,
Beware