# PDF über HTTP einlesen und in Datei schreiben



## achtim (22. Okt 2004)

Hi,
bei mir treten immer wieder Fragen zu Streams usw. auf... ich möchte jetzt erstmal über HTTP ein PDF aufrufen und lokal in eine Datei speichern... dachte mir so könnte es klappen, aber ich bekomme immer schon "connection timed out..."

Kann mir jemand weiterhelfen?


```
try {
	URL url = new URL("http://www.linkzumeinempdf.pdf");
//	URLConnection con = url.openConnection();
	HttpURLConnection con = (HttpURLConnection)url.openConnection();
	InputStreamReader in = new InputStreamReader(con.getInputStream());
	BufferedReader br = new BufferedReader(in);
	FileOutputStream out = new FileOutputStream("d:/test.pdf");
	while (br.read() != -1) {
		out.write(br.read());
	}
	out.close();
	out.flush();
			
} catch (Exception e) {
	e.printStackTrace();
}
```

DANKE!


----------



## Roar (22. Okt 2004)

hmm... kA
auf jheden fall must du amn ende alle streams und readers und connections schließen. mach das am besten in einem finally block.

oder es ein problem des servers...


----------



## Bleiglanz (22. Okt 2004)

auf keinen Fall mit Reader lesen, das sind ja binäre Daten?


----------



## DP (22. Okt 2004)

wo bekommste den timeout? gei der connection oder beim reader?


----------



## achtim (22. Okt 2004)

@DP: bei der connection

@Bleiglanz: hättest du vielleicht ein beispiel?


Danke danke!


----------



## Roar (22. Okt 2004)

er meint das so:

```
HttpURLConnection c = (HttpURLConnection) u.openConnection();
		InputStream is = c.getInputStream();
		int len;
		byte[] b = new byte[c.getContentLength()];
		is.read(b);
		is.close();
		c.disconnect();
```

wenn dertimeout bei der connectino kommt liegt es vielleicht doch am server... :-/


----------

