HTML Seite laden

intA

Mitglied
Hallo zusammen,

ich lade eine webseite wie folgt:
(try catch weggelassen)

Java:
URLConnection con = new URL(url).openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
BufferedWriter bw = new BufferedWriter(new FileWriter(file));

while (br.ready()) {
	 bw.write(br.readLine());
	bw.newLine();
}

closen...
return file;

das klappt zwar auch recht oft, allerdings wird die seite manchmal nicht vollständig runtergeladen (oder einfach nicht komplett ins file geschrieben) ?
Bin da ziemlich ratlos was ich da tun kann. Kann mir jemand helfen?
 
Vor den Closen geflusht? (Je nach dem ob du java 6 benutzt oder nicht)

EDIT:
und die schleife sieht normalerweise so aus:
Java:
while ((thisLine = br.readLine()) != null) {
 
Zuletzt bearbeitet:
probier mal die Seiten so zu laden:

Java:
	private String getStrFromUrl(String surl){
		final String userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12";
		try {
			URL url = new URL(surl);
	        URLConnection conn = url.openConnection();
	        conn.addRequestProperty("User-Agent", userAgent);
	        
	        BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
	         String str;
	         StringBuilder builder = new StringBuilder(1024);
	         while ((str = in.readLine()) != null) {
	            builder.append(str);
	            builder.append("\n");
	         }
	         in.close();
	         return builder.toString();
			} catch (MalformedURLException e) 
			{	System.out.println(e.getMessage());
			} 
			catch (IOException e) 
			{	System.out.println(e.getMessage());
			} 
	}

EDIT: ist net perfekt, wie mein nachposter sagt bau am besten einen StringBuilder ein...
EDIT2: ist jetzt eingebaut, also code kann direkt verwendet werden
 
Zuletzt bearbeitet:
Java:
str = new String();
            while ((str1 = in.readLine()) != null) {
                str = str + str1;
            }
Ist von der Performance her grauenvoll. Benutz einen StringBuilder stattdessen.
 

Neue Themen


Zurück
Oben