variablen abhängige URL auslesen

Status
Nicht offen für weitere Antworten.

Marco5989

Mitglied
Hallo,
ich will ein Programm schreiben dass als Art "Lexikon" dienen soll.. d.h. es wird erster ein Begriff abgefragt und der wird dann bei meyers.de nachgeschlagen und eben ausgegeben. Das Ausgeben klappt auch gut, nur weis ich nicht wie ich die URL abhängig von meiner abgefragten Variable machen soll:

Code:
system.out.. (bitte gib dein Wort ein)
String wert=string einlesen  ;

URL url = new URL( "http://lexikon.meyers.de/meyers/"+wert );
Reader is = new InputStreamReader(url.openStream() );
BufferedReader in = new BufferedReader( is );

nun das Problem ist dass ich die Variable Wert oben nicht schon einlesen kann, da der BufferedReader erst drunter kommt. Aber ich kanns auch nicht drunter setzen, da die URL oben schon deklariert sein muss..

bitte um hilfe.

gruß marco
 
S

SlaterB

Gast
> das Problem ist dass ich die Variable Wert oben nicht schon einlesen kann, da der BufferedReader erst drunter kommt

der untere BufferedReader ist doch für die Datei aus dem Internet und hat mit der Benutzereingabe nix zu tun?!

dafür brauchst du z.B. auch einen BufferedReader auf System.in,
aber man kann doch sehr gut zwei BufferedReader im Programm haben,


baue erstmal ein Programm, welches nur das Wort einliest,
danach kommt dann der Internet-Code
 

Marco5989

Mitglied
jetz habe ich aber nochmal eine Frage und zwar suche ich mit dem if(str.contains....); alle Sachen raus die ich in str speichern will. Das klappt auch ganz gut. Nur mein einzigstes Problem ist wenn ich den String str dann ausgeben möchte,
sind die Wörter nicht linksgebunden sondern stehen etwa so da ( sollte ein übersetzungsprogramm werden) :

Ball_________________ball
_________Ball__________________dance_____________Ball
etc________________Ball____________etc

("___" = leerzeichen)
kann man das irgendwie linksbündig ausrichten oder wegen mir auch zentriert, hauptsache irgendwie auf die Form:

Ball übersetzung1
Ball übersetzung2
etc
?


Code:
for (String str; (str = in.readLine()) !=null;)
{
if(str.contains("[b]"))f1.write(str);
}
in.close();
f1.close();

hp=f1.toString();
hp = hp.replaceAll("</?.+?>", "");
 System.out.println(hp);



freundliche grüße
Marco
 
S

SlaterB

Gast
die Zeile muss doch auch mindestens enthalten, wahrscheinlich noch mehr HTML-Code,
wieso erscheint das nicht in deiner Ausgabe?
oder schreibst du das wieder in eine andere HTML-Datei?


Leerzeichen kannst du mit String.replace ersetzen,
z.B. zwei Leerzeichen durch eines, oder gleich reguläre Ausdrücke lernen

besser aber die fraglichen Zeilen doch genauer untersuchen


edit: ah, da ersetzt du ja schon einiges, dann vielleicht auch noch die Leerzeichen,
mit trim() von String kannst du übrigens Leerzeichen am Anfang und Ende entfernen
 

Marco5989

Mitglied
hmm danke mal, aber

hp = hp.trim();

bzw.

hp = hp.replace("___________", " "); (die _____ sollen leerzeichen sein)

verändert irgendwie nix.. komisch
 
S

SlaterB

Gast
Code:
public class Test
{

    public static void main(String[] args)
        throws Exception
    {
        String hp = "  a   b ";
        System.out.println(hp.length() + ", " + hp);
        hp = hp.trim();
        System.out.println(hp.length() + ", " + hp);
        hp = hp.replaceAll("  ", " ");
        System.out.println(hp.length() + ", " + hp);
    }
}
was bei dir passiert kann man ohne vollständigen Code auch wenig vollständig beantworten,
vielleicht hast du aus dem Internet keine normalen Leerzeichen sondern andere,
schau dir den ASCII-Code der Zeichen an
 

Marco5989

Mitglied
ja ich weis ja nicht eigentlich dürften die Felder zwischen meinen wörten ja garnicht da sein weil ich ja die Felder der html zeichen durch "" ersetzt, also garnix.

hp = hp.replaceAll("</?.+?>",""); oder?
 
S

SlaterB

Gast
ich stimme dir zu, vor allem aber dass ich nicht genau weiß was da los ist,

gib doch den String vorher und nachher aus,
ersetzt vielleicht erstmal nur testweise einen bestimmten Tag,
dann siehst du alle Unterschiede
 

Marco5989

Mitglied
ok ich bin jetz soweit dass trim funktioniert, nur dass zwischendrin scheinen keine Leerzeichen zu sein.. leider

aber was dann? und wie bekomm ich die weg :(



auch okay wäre ein Befehl wie ich alle leerzeichen wegbekomme.
 
S

SlaterB

Gast
wie gesagt mit charAt so ein Zeichen holen und ASCII-Code ausgeben,
dann speziell auf diesen ASCII-Code replace durchführen,

alternativ evtl. bei regulären Ausdrücken alle vorhanden Leerzeichen verwenden:

Predefined character classes
. Any character (may or may not match line terminators)
\d A digit: [0-9]
\D A non-digit: [^0-9]
\s A whitespace character: [ \t\n\x0B\f\r]
\S A non-whitespace character: [^\s]
\w A word character: [a-zA-Z_0-9]
\W A non-word character: [^\w]
 

Marco5989

Mitglied
hmm 0 , 9 und 13 scheinen leerzeichen zu sein aber wie geb ich das in replace ein?

hp = hp.replaceAll((char)9, "") funktioniert irgendwie nich
 
S

SlaterB

Gast
replaceAll geht nur mit String, bisschen denken sollte schon drin sein,
dafür kann man sich dann auch entschuldigen ;)
Code:
public class Test
{

    public static void main(String[] args)
        throws Exception
    {
        String hp = "  a" + ((char)9) + ((char)9) + "b ";
        System.out.println(hp.length() + ", " + hp);
        hp = hp.trim();
        System.out.println(hp.length() + ", " + hp);
        hp = hp.replaceAll("  ", " ");
        System.out.println(hp.length() + ", " + hp);
        hp = hp.replaceAll("" + (char)9, " ");
        System.out.println(hp.length() + ", " + hp);

    }

}
 

Marco5989

Mitglied
ok das hab ich.. nur noch eine Frage.. (vllt :D) :

kann ich irgendwie dem String sagen, dass er vor jedem +wert+ einmal return macht ?
 

Marco5989

Mitglied
geht nich :(

hp = hp.replaceAll(wert, /n wert);

-______ habs danke


hab nochmal nen problem...

ich speicher die ganzen vokabeln dann in ner Datei damit derjenige sie irgendwann lernen kann.

aber es speichert immernur die zurerst genannte den nächsten durchgang speichert er nedmehr bzw überschreibt den ersten.
 
S

SlaterB

Gast
da macht du wohl was falsch,

es gibt einen boolean-Parameter im Konstruktor von FileWriter oder welchen Code du auch immer verwendest aber hier nicht postest
 

Marco5989

Mitglied
Code:
 import java.net.*;
import java.io.*;

public class TestSucheModul {


public static void main(String[] args) {
String hp;
int auswahl;
 StringWriter f1 = new StringWriter();
 FileWriter f2;;

try {
 String c;

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

System.out.println("1: Begriff nachschlagen");
System.out.println("2: Wort uebersetzen");
System.out.print("Bitte waehle eine Nummer: ");
auswahl=Integer.parseInt(input.readLine());

if(auswahl==1)
{
 f2 = new FileWriter("definitionen.txt");
System.out.print("Gib den Begriff an, der im Lexikon nachgeschlagen werden soll: ");
String wert=new String(input.readLine());
System.out.println(" ");
System.out.println("Definition "+wert+":");
URL url = new URL( "http://lexikon.meyers.de/meyers/"+wert );

Reader is = new InputStreamReader(url.openStream() );
BufferedReader in = new BufferedReader( is );



for (String str; (str = in.readLine()) != null;)
{
if(str.contains("

[b]")) f1.write(str);
}
in.close();
f1.close();

 hp=f1.toString();
  hp = hp.replaceAll("</?.+?>", "");
//hp = hp.replaceAll("ü","ue");
  hp = hp.trim();
  System.out.println(hp);
  f2.write(hp);
  f2.write("________________________________");
  f2.close();
}

muss ich da gepuffert schreiben?
 

Marco5989

Mitglied
ja hab ich doch schon beschrieben.. das soll nen Lexikon sein.. man wird abgefragt welchen Begriff er nachschlagen soll den gibt er dann aus und speichert ihn zusätzlich in einer Datei (definitionen.txt). wird aber erneut ein Begriff nachgeschlagen , wird der nicht drunter geschrieben sondern überschreibt den vorher gesuchten Begriff.

gruß marco und danke für die schnellen antworten
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
T Variablen Java Basics - Anfänger-Themen 1
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
M Aufsummieren von variablen Wertegrößen Java Basics - Anfänger-Themen 17
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
ashi Variablen aufrufen Java Basics - Anfänger-Themen 17
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
C Konstruktoren und Variablen Java Basics - Anfänger-Themen 42
F Auf Variablen eines Konstruktors zugreifen Java Basics - Anfänger-Themen 4
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
Arif Vererbung Methodenvererbung mit finalen Variablen Java Basics - Anfänger-Themen 1
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
F Variablen Werte einer Klasse überschreiben Java Basics - Anfänger-Themen 4
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
M Java Instanz-Variablen ? Java Basics - Anfänger-Themen 3
B Variablen von Methoden übertragen Java Basics - Anfänger-Themen 2
M Variablen umbenennen Java Basics - Anfänger-Themen 1
T Körper Brechnung - Lokale Variablen in Methoden übergeben Java Basics - Anfänger-Themen 10
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
mars90 Fehler in der Variablen Deklaration Java Basics - Anfänger-Themen 8
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
M Komisches Verhalten der Variablen Java Basics - Anfänger-Themen 6
H Variablen Multiplikation einer inkrementierten Variablen Java Basics - Anfänger-Themen 5
scratchy1 Variablen vertauschen wenn Bedingung "umgedreht" wird Java Basics - Anfänger-Themen 40
J Variablen mit einer anderen Klasse bekannt machen Java Basics - Anfänger-Themen 7
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
A Übergreifende Variablen Java Basics - Anfänger-Themen 17
A Variablen Verständnisfrage bzgl. Variablen/Referenzen Java Basics - Anfänger-Themen 3
H Variablen Methode zum Abfragen von Variablen aus Subklassen Java Basics - Anfänger-Themen 9
P Variablen Variablen voneinander abhängig Java Basics - Anfänger-Themen 54
F Liste nach einer Variablen sortieren Java Basics - Anfänger-Themen 6
L Variablen in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
M For-Schleife durch zwei versch. Variablen begrenzen Java Basics - Anfänger-Themen 27
J Klassen Variablen in andere Klassen oder Methoden übernehmen Java Basics - Anfänger-Themen 1
P Liste auslesen und in Variablen speichern Java Basics - Anfänger-Themen 7
temi Redundante Variablen Java Basics - Anfänger-Themen 29
Aprendiendo Zweifel mit versteckter Variablen Java Basics - Anfänger-Themen 16
L Variablen einmal nur zu weisen Java Basics - Anfänger-Themen 62
D Statische Variablen/Methoden Java Basics - Anfänger-Themen 3
R Abfrage von Variablen in Unterklassen einer ArrayList Java Basics - Anfänger-Themen 9
M Listener für Button - Wert von Variablen verändern Java Basics - Anfänger-Themen 14
S Vererbung Variablen klassenübergreifend nutzen Java Basics - Anfänger-Themen 42
R Auf Variablen einer anderen Klasse zugreifen? Java Basics - Anfänger-Themen 1
D Fehlermeldung obwohl Variablen bereits deklariert sind? Java Basics - Anfänger-Themen 14
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
Aruetiise Variablen JFrame und Variablen Java Basics - Anfänger-Themen 3
L Variablen dekleration + reset Java Basics - Anfänger-Themen 16
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
D Kapselung final Variablen mit Getter? Java Basics - Anfänger-Themen 2
C Variablen von einem JFrame in einen anderen übertragen Java Basics - Anfänger-Themen 3
P Interface Variablen-Inhalte werden nicht übergeben Java Basics - Anfänger-Themen 3
C Variablen in Schleifen außerhalb verwenden Java Basics - Anfänger-Themen 2
S Variablen Flexible Variablen Namen Java Basics - Anfänger-Themen 3
R Erste Schritte 3 Variablen hochzählen lassen Java Basics - Anfänger-Themen 1
RowdyN Variablen Variablen beliebig benennen? Java Basics - Anfänger-Themen 6
S OOP Variablen zwischen mehreren Klassen Java Basics - Anfänger-Themen 11
T Koordinatensystem zeichnen - Variablen merken? Quadratische Funktion zeichnen? Java Basics - Anfänger-Themen 5
H Variablen einer Schleife zwischenspeichern Java Basics - Anfänger-Themen 2
P Klassen Variablen von einer Klasse zur anderen Java Basics - Anfänger-Themen 5
H Objekt überschreibt Variablen vorheriger Objekte Java Basics - Anfänger-Themen 2
P Variablen in Excel speichern Java Basics - Anfänger-Themen 6
S PHP Aufruf mit mehreren Variablen Java Basics - Anfänger-Themen 2
F Variablen unterschiedlicher Datentypen Java Basics - Anfänger-Themen 6
S ActionListener und Statische Variablen Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
L Vergleich zweier Variablen, mit Abweichung Java Basics - Anfänger-Themen 3
P Variablen einer Methode in andere Method übergeben Java Basics - Anfänger-Themen 6
G Variablen Verwendung von Variablen in anderer Klasse Java Basics - Anfänger-Themen 6
P Textfelder in Variablen speichern Java Basics - Anfänger-Themen 13
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
J Vererbung Variablen aus Superklasse übernehmen Java Basics - Anfänger-Themen 2
L Variablen aus TXT Datei auslesen und vergleichen. Java Basics - Anfänger-Themen 5
K Welchen Typ haben Variablen in Default-Methoden und in statischen Methoden in Schnittstellen? Java Basics - Anfänger-Themen 4
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
L zwei Variablen gleichzeitig übergeben Java Basics - Anfänger-Themen 6
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
D Klassen Verhalten von Klassenvererbung bei Variablen Java Basics - Anfänger-Themen 1
G Alle Objekte und Variablen automatisch ausgeben Java Basics - Anfänger-Themen 7
S OOP Werte von Vektoren mit 3 Variablen ausgeben lassen Java Basics - Anfänger-Themen 3
A Variablen aus einer Schleife gezielt auslesen Java Basics - Anfänger-Themen 11
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
K Enigma, variablen übernehmen Java Basics - Anfänger-Themen 6
F Erste Schritte Dynamische Variablen Java Basics - Anfänger-Themen 15
N Variablen zurück casten Java Basics - Anfänger-Themen 3
M Repräsentation von variablen/OOP Java Basics - Anfänger-Themen 2
B Probleme beim einlesen einer short variablen für einen Array Java Basics - Anfänger-Themen 1
S Warum erlaubt ein while-Loop keine Variablen-Declaration wie der for-Loop..? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen


Oben