Quelltext einer Internetseite auf JTextArea anzeigen

StrikeTom

Bekanntes Mitglied
Wie zeige ich den Quelltext einer Internetseite auf einem JTextArea an?
Mein versuch sah so aus:
Java:
 public void showQt()
  {
	  JDialog d = new JDialog();
	  JTextArea qtAnzeige = new JTextArea(getQt());
	  qtAnzeige.setEditable(false);
	  d.setTitle("Quelltext von " + site);
	  d.setSize(600, 500);
	  d.add(qtAnzeige);
	  d.setVisible(true);
  }
  public String getQt()
  {
	  try 
      {
		  String qt = "";
          URL               u   = new URL(site);
          InputStream       in  = u.openStream();
          InputStreamReader isr = new InputStreamReader(in);
          BufferedReader    br  = new BufferedReader(isr);
          int               c;
          while ((c = br.read()) != -1) 
          {
        	  qt += c;
          }
          return qt;
      } 
      catch (IOException e) 
      {
          JOptionPane.showMessageDialog(null, "Fehler beim laden");
          return null;
      }
  }
Doch es werden nur zahlen returnt und ausgegeben.

Weiß jemand was ich falsch mache?
Danke im voraus🙂
 
Schau dir mal die Doc von BufferedReader#read an
The character read, as an integer in the range 0 to 65535 (0x00-0xffff), or -1 if the end of the stream has been reached

Das heißt du bekommst den int-Wert des Zeichens.

#edit: Verwende doch lieber readLine, da bekommste gleich nen String.
 
Zuletzt bearbeitet:
Hab das auchma gemacht hab die Lösung noch irgendwo liegen ich such se ma 🙂

Java:
InputStream is = null;
		
		try {
			URL url = new URL("http://www.die-website.de/");
			is = url.openStream();
			JTextArea.append(new Scanner(is).useDelimiter("\\Z").next());
		} catch(Exception ex) {
			javax.swing.JOptionPane.showMessageDialog(null, "Fehler!");
			ex.printStackTrace();
		} finally {
			if(is != null) {
				try {
					is.close();
				} catch(IOException ex) {
					javax.swing.JOptionPane.showMessageDialog(null, "Fehler!");	
				}
			}
		}
 

Zurück
Oben