GELÖST [erledigt][Java] Daten aus Internet-Text-Datei lesen

Diskutiere [erledigt][Java] Daten aus Internet-Text-Datei lesen im Programmierung Forum im Bereich Software Forum; Hi Ich möchte mir ein kleines Lexikon bastel. Dazu will ich die Daten in eine Text-Datei speichern. Man soll dann auswählen können, welche Datei...
oele3110

oele3110

Threadstarter
Mitglied seit
17.08.2004
Beiträge
1.152
Alter
30
Standort
Falkensee
Hi
Ich möchte mir ein kleines Lexikon bastel.
Dazu will ich die Daten in eine Text-Datei speichern.
Man soll dann auswählen können, welche Datei man laden will.
Darunter soll man zwischen lokalen Datei und Dateien im Internet wählen können.
Wie kann ich nun Internetdaten abrufen?
Also z.B. mit einem "FileReader" die Daten einer Text-Datei auf meiner Website abrufen?

MFG Oele
 
Zuletzt bearbeitet:
DiableNoir

DiableNoir

Mitglied seit
18.01.2004
Beiträge
6.069
Also wenn ich das richtig verstehe, handelt es sich hier um eine normale Standalone-Anwendung und nicht um ein Applet?

Dann musst du die Datei wahrscheinlich erst herunterladen und kannst sie erst dann verarbeiten. Ich habe schon länger nicht mehr mit JAVA programmiert, aber ich denke es dürfte dort wie bei C# einen MemoryStream geben. In diesen kannst du die Datei herunterladen und den Stream liest du dann aus und gibst den Inhalt aus. (oder du erstellst einfach eine temporäre Datei.)

Alternativ könntest du ja auch einen rudimentären Browser schreiben. Du brauchst ja auch nichts anderes zu tun als dich mit dem TCP-Port 80 deiner Website zu verbinden und ein HTTP-Request machen. Der Server sendet dir dann die Textdatei zu. Ist allerdings etwas aufwändiger.
 
oele3110

oele3110

Threadstarter
Mitglied seit
17.08.2004
Beiträge
1.152
Alter
30
Standort
Falkensee
Danke, aber ich habe nach langem Suchen im Netz gefunden, was ich wollte.

Code:
URL myConnection = new URL(txt2.getText());
URLConnection connectMe = myConnection.openConnection();
          
InputStreamReader lineReader = new InputStreamReader(connectMe.getInputStream());
BufferedReader buffer = new BufferedReader(lineReader);
String read = buffer.readLine();
txtA1.setText(read);
Ich baue die Verbindung auf, lese die Text-Datei aus und kann den Inhalt in mein TextFeld schreiben.
Trotzdem danke ;)
 
DiableNoir

DiableNoir

Mitglied seit
18.01.2004
Beiträge
6.069
Hmm...ja scheint auch ziemlich das zu sein was ich meinte. Wird in einem Stream gepuffert und dann ausgelesen.

Vielleicht solltest du aber dafür sorgen, dass der Code weniger fehleranfällig ist. Wenn die URL zB nicht erreichbar ist, wird wohl eine Exception geworfen.
 
oele3110

oele3110

Threadstarter
Mitglied seit
17.08.2004
Beiträge
1.152
Alter
30
Standort
Falkensee
Fange es mit einem try - catch Block ab.
Funktioniert damit auch :)
 
DiableNoir

DiableNoir

Mitglied seit
18.01.2004
Beiträge
6.069
Ach so dann ist's ja gut. :blush
 
N

NadRick

Mitglied seit
13.03.2008
Beiträge
3
Alter
43
Hallo!

Ich versuche über folgenden Befehl einen InputStream zu bekommen:

InputStreamReader lineReader = new InputStreamReader connectMe.getInputStream());

An dieser Stelle bekomme ich beim Testen immer die Meldung "Exception: java.net.ConnectException: Connection timed out: connect". Ich habe schon verschiedene Möglichkeiten probiert (Mit und ohne ConnectMe), aber die Meldung bleibt. Ich müßte eigentlich einen Stream im XML-Format zurückgeliefert bekommen. Unter C# geht das mit WebResponse ohne Probleme. Vielleicht fehlt mir hier nur eine Kleinigkeit.

Danke und Gruß
NadRick
 
DiableNoir

DiableNoir

Mitglied seit
18.01.2004
Beiträge
6.069
Kann es evtl. sein, dass da eine Firewall was blockt, oder deine Verbindungsdaten falsch sind?

Evtl. kann es auch sein, dass du vergessen hast die Verbindung erst zu öffnen. Du kannst ja mal das Codefragment posten. Vielleicht finden wir dann einen Fehler.
 
N

NadRick

Mitglied seit
13.03.2008
Beiträge
3
Alter
43
Hallo!

Erst mal vielen Dank. Das mit der Firewall werde ich überprüfen.

Ich habe den Code mal wieder überarbeitet und der sieht jetzt so aus. Leider bekomme ich die Meldung noch immer.

BufferedReader URLinput;
URL myURL;
try
{
// Anlegen der URL - hier nur als Beispiel
myURL = new URL("http://www.test.de/benutzertest/xmlausgabe.php?passwort=2&offlinedata=true");
try
{
// Stream öffnen
URLinput = new BufferedReader(new InputStreamReader(myURL.openStream()));
// Alle Daten der URL lesen anzeigen
String line = "";
while ((line = URLinput.readLine()) != null)
System.out.println(line);
URLinput.close(); // Schließen des Streams
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
catch(MalformedURLException e)
{
e.printStackTrace();
}
 
DiableNoir

DiableNoir

Mitglied seit
18.01.2004
Beiträge
6.069
Also ich habe ihn mal getestet und er scheint einwandfrei zu funktionieren.

Kann es sein, dass dein PHP-Script gar nichts liefert?
 
N

NadRick

Mitglied seit
13.03.2008
Beiträge
3
Alter
43
Hallo!

Ich habe das Problem gelöst. Es fehlten noch die Proxy-Einstellungen.

Trotzdem danke.
 
Thema:

[erledigt][Java] Daten aus Internet-Text-Datei lesen

[erledigt][Java] Daten aus Internet-Text-Datei lesen - Ähnliche Themen

  • GELÖST [erledigt][Java]Testen, ob Datei existiert

    GELÖST [erledigt][Java]Testen, ob Datei existiert: Hi Ich möchte in meinem Java-Code überprüfen, ob eine Datei im selben Verzeichnis wie die Quelldatei existiert. Wie mache ich das? Ich habe zwar...
  • (Erledigt) Deinstallieren von Java

    (Erledigt) Deinstallieren von Java: Hi! Ich habe die Javakonsole 6.1 geinstet. Habe aber gemerkt das gerade diese Version probs macht. Wie kann ich diese wider löschen?
  • (erledigt)Java

    (erledigt)Java: Bin neu bei Arcor,klappt auch.D.h.ich komme ins Internet.Wenn ich meine Online-Rechnung einsehen will,muß ich mich bei WebBill anmelden.Da fangen...
  • [erledigt] Einstieg in die Programmierung mit Java

    [erledigt] Einstieg in die Programmierung mit Java: Ich wollte das programmieren mit Java erlernen. Zu diesem Zweck habe ich bereits das Onlinebook Java eine Insel sowie zahlreiche Beiträge in...
  • [erledigt][Java] wie e^x darstellen?

    [erledigt][Java] wie e^x darstellen?: Hi Ich hatte ja gestern schon eine Java Frage, die auch gelöst wurde. Heute habe ich noch eine^^ Ich möchte in einer Canvas Zeichenfläche eine...
  • Ähnliche Themen

    • GELÖST [erledigt][Java]Testen, ob Datei existiert

      GELÖST [erledigt][Java]Testen, ob Datei existiert: Hi Ich möchte in meinem Java-Code überprüfen, ob eine Datei im selben Verzeichnis wie die Quelldatei existiert. Wie mache ich das? Ich habe zwar...
    • (Erledigt) Deinstallieren von Java

      (Erledigt) Deinstallieren von Java: Hi! Ich habe die Javakonsole 6.1 geinstet. Habe aber gemerkt das gerade diese Version probs macht. Wie kann ich diese wider löschen?
    • (erledigt)Java

      (erledigt)Java: Bin neu bei Arcor,klappt auch.D.h.ich komme ins Internet.Wenn ich meine Online-Rechnung einsehen will,muß ich mich bei WebBill anmelden.Da fangen...
    • [erledigt] Einstieg in die Programmierung mit Java

      [erledigt] Einstieg in die Programmierung mit Java: Ich wollte das programmieren mit Java erlernen. Zu diesem Zweck habe ich bereits das Onlinebook Java eine Insel sowie zahlreiche Beiträge in...
    • [erledigt][Java] wie e^x darstellen?

      [erledigt][Java] wie e^x darstellen?: Hi Ich hatte ja gestern schon eine Java Frage, die auch gelöst wurde. Heute habe ich noch eine^^ Ich möchte in einer Canvas Zeichenfläche eine...
    Oben