2010-01-08 64 views
0

(原題:幫助新手(JAVA))Java代碼下載的文件

我需要一個java代碼從網絡的方式從..For例如我想下載文檔互聯網,下載文件的PDF文件我通過代碼來做到這一點..所以誰能幫助我

+3

一些建議的新手 - 你不會跑遠只是要求在這個論壇德codez。從你迄今爲止所做的一切開始,以幫助自己和你陷入困境,我們將幫助解決這些問題。但沒有人會爲你免費爲你做所有的工作。 – 2010-01-08 13:52:17

+3

用你實際想要完成的事情(而不僅僅是「幫助一個新手」)重新審視你的問題,你可能會有更好的運氣。 – Beska 2010-01-08 13:52:34

+0

我已經編輯了標題,以免再出現問題。 – 2010-01-08 13:57:18

回答

0

看看在Apache項目的HTTPClient:http://hc.apache.org/httpclient-3.x/

有噸網站上的樣品部分樣品:http://svn.apache.org/viewvc/httpcomponents/oac.hc3x/trunk/src/examples/

而且t他的用戶指南也相當不錯!

+0

Apache HTTPClient是一個優秀的,功能強大的庫。但我認爲這對新手來說會是一種恐嚇。我認爲Balus有一個很好的主意,用一個溫和的教程來提供更簡單的API。 – 2010-01-08 13:55:20

+0

完全同意! :) – 2010-01-08 14:57:08

1

奇怪的是,如果你使用Apache Commons IO你會問這個在2010年http://www.daniweb.com/forums/thread84370.html

+1

???那是......怪異的。 – 2010-01-08 13:59:04

+0

必須是一個從網絡上抄襲垃圾的巨魔。 – Skilldrick 2010-01-08 13:59:18

+0

或者某人不知道如何用英語制定一個聰明的問題,並且不幸地從他在搜索答案的過程中找到的互聯網上覆制了錯誤地制定的問題。順便說一下,如果這個問題已經作爲**評論**發佈,我已經投了票,但不是這個。請不要發表評論作爲答案。 – BalusC 2010-01-08 14:02:33

5

這是最簡單的:

IOUtils.copy(
    new URL("http://www.server.com/file.doc").openStream(), 
    new FileOutputStream("C:/path/to/file.doc") 
); 

否則,你必須寫一個循環,並使用一個字節數組作爲緩衝區,可要得到完全正確的信息會有點棘手。

3
URL url = new URL("http://farm6.static.flickr.com/5035/5802797131_a729dac808_b.jpg"); 
ReadableByteChannel readableByteChannel = Channels.newChannel(url.openStream()); 
FileOutputStream fos = new FileOutputStream("image.jpeg"); 
fos.getChannel().transferFrom(readableByteChannel, 0, Long.MAX_VALUE); 

使用的Java非阻塞I/O