# http-download



## kroe (11. Jun 2007)

Ich bin noch ein totaler noob in Java, aber würde gerne ein Problem bewerkstelligen (;

also ich will ein kleines progg schreiben welches von einem http server ca 200 jpg dateien runterlädt..

bildernamen sind numerisch vergeben..lässt sich also ganz einfach per schleife bewältigen wenn ich erstmal weiß wie ich die bilder geladen bekomme! 

so far..plz help (;


----------



## Guest (11. Jun 2007)

achso..und ja ich hab jetzt viel von 
http-client usw gelesen..aber irgendwie funktioniert a) der import meistens nicht oder b) ich weiß nicht wie ich das ganze richtig benutzen muss ):

und google konnte mir auch nicht helfen...

wenn mir nur jmd. einen gedanken anstoss geben könnte oder hilfe wo es idioten sicher steht ^^..

danke [:


----------



## SlaterB (11. Jun 2007)

fange evtl. ganz einfach an, URL aus dem Browser,
Socket öffnen, Daten als byte[] lesen und in Datei speichern,

da sollte es höchstens Formatierungsprobleme geben, bei byte[]aber vielleicht nicht mal das,

siehe z.B.
http://www.javabuch.de/download.html

Netzwerkkapitel, einfacher WebServer/ Client


----------



## kroe (11. Jun 2007)

danke erstmal [:

aber irgendwie klingt das als wäre das eine nicht allzu konforme methode?! ö.Ö

Gestern meinte jmd. ich sollte http-client nutzen.. aber keiner kann mir sagen wie ich das alles genau anstellen kann/soll oder wo ich etwas darüber nachlesn kann (;


----------



## SlaterB (11. Jun 2007)

http://jakarta.apache.org/commons/httpclient/
http://jakarta.apache.org/commons/httpclient/tutorial.html

lockerleicht bei google zu finden,
aber ist natürlich eine komplexe hohe API, 

wenn du nicht mal schaffst, die Testprogramme zum Laufen zu bringen
(siehe unbedingt auch
http://jakarta.apache.org/commons/httpclient/dependencies.html
)
dann ist das ein gutes Zeichen, dass sowas noch zu hoch für dich ist,
und für Arbeiten auf diesem Niveau schreibt niemand einfache Tutorials, 
das lohnt sich nicht,

die meisten kommen mit der normalen Doku zu recht, die Anfänger sollten erstmal Grundlagen lernen/
würden selbst bei ausführlichsten Tutorials überall hängen bleiben


----------



## masta // thomas (11. Jun 2007)

Zum obigen Post von Slater bzgl. Socket öffnen etc. hier ein kleines Beispiel für dich:


```
HttpURLConnection con = (HttpURLConnection)new URL(source).openConnection();
BufferedInputStream in = new BufferedInputStream(con.getInputStream());
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(target));
int bytesRead = 0;
byte[] buffer = new byte[in.available()];
while ((bytesRead = in.read(buffer)) > 0)
	out.write(buffer, 0, bytesRead);
out.flush();
out.close();
in.close();
```

Slater: hoffe ich hab damit jetzt nicht den von dir evtl. zu erzielenden Lerneffekt zunichte gemacht?


----------



## SlaterB (11. Jun 2007)

nene, mit öden Code zusammentragen lernt man eh nix,
hätte selber so ein Beispiel gepostet, wenn ich eins hätte/ hab aufs Abgucken in dem Buch verwiesen


----------



## Guest (11. Jun 2007)

ja das stimmt schon..

aber danke erstmal 

aber ein weiteres problem ist einfach für mich, das ich nicht weiß wo ich anfangen soll..

das war irgendwie damals bei zB php ganz anders.. naja aber danke für die antwort


----------



## masta // thomas (12. Jun 2007)

Hast du meinen Beitrag überlesen oder wo ist dein Problem?


----------



## Guest (21. Jun 2007)

So.. ich habe mich zwar lang nicht mehr gemeldet.. aber
ich importe ganz simple httpclient (;

dann habe ich versucht den code schnippsel zu testen, jedoch "cannot find symbol" und das bei HttpURLConnection..usw (; 

bitte um hilfe, auch wenn ich ein totaler amateur bin ]:


----------



## masta // thomas (21. Jun 2007)

Wie wärs, wenn du die fehlenden Klassen importierst?

Hier ein kleines, funktionierendes Beilspiel, nur für dich 


```
package de.mcs.javaforum.download;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class Download
{
	
	public void download(String source, String target) throws MalformedURLException, IOException
	{
		HttpURLConnection con = (HttpURLConnection)new URL(source).openConnection();
		BufferedInputStream in = new BufferedInputStream(con.getInputStream());
		BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(target));
		int bytesRead = 0;
		byte[] buffer = new byte[in.available()];
		while ((bytesRead = in.read(buffer)) > 0)
		   out.write(buffer, 0, bytesRead);
		out.flush();
		out.close();
		in.close(); 
	}	
	
	public static void main(String[] args) throws MalformedURLException, IOException
	{
		Download d = new Download();
		d.download("http://speedtest.netcologne.de/test_100k.bin", "test_100k.bin");
	}
}
```

Übrigens finde ich umgekehrt geschriebene Smilies ungewöhnlich hässlich...


----------



## Guest (22. Jun 2007)

danke.. das ist krass.. naja das problem ist ich wusste ja nicht welche klassen ich noch importieren musste (;

aber echt ein dickes dankeschön 

ps: nix gegen meine tollen smilies (x 

cya l8er [:


----------



## tuxedo (4. Jul 2007)

Anonymous hat gesagt.:
			
		

> danke.. das ist krass.. naja das problem ist ich wusste ja nicht welche klassen ich noch importieren musste (;



Eine gute IDE wie Eclipse hilft beim entwickeln... 

PHP ist halt schon was anderes als Java


----------

