|
其实是fyp系统里的一部分,
请问如何用java download一个web file。
例如,我想把http://chinese.cari.com.my/logo/cforum.gif用java下载到我的harddisk,
请问如何写这个程式呢?
我听过有一种技术可以实现,叫multipart,可是在google都找不到。
请帮忙。
[ 本帖最后由 Netmercury 于 8-6-2006 05:33 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 8-6-2006 10:24 PM
|
显示全部楼层
原帖由 Netmercury 于 8-6-2006 05:17 PM 发表
其实是fyp系统里的一部分,
请问如何用java download一个web file。
这里有一个简单的方法, 不知是不是你要的东西。
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
public class URLMain {
public static void main(String arg[]){
try{
URL url = new URL("http://chinese.cari.com.my/logo/cforum.gif");
InputStream is = url.openStream();
FileOutputStream fileOS = new FileOutputStream("C:\\cforum.gif");
int read;
while((read = is.read())!=-1){
fileOS.write(read);
}
fileOS.close();
}catch(Exception err){
err.printStackTrace();
}
}
}
请注意,这个点子没有所谓的协调,可以话不妨试一试把 is.read()的 buffer 提高, 例如:
byte[] buffer= new byte[1024]
is.read(buffer);
你说的multipart 其实就是parallel download(e.g flashget 你可以split 很多 part). 我不建议你用这方法如果你要下载的东西是很小。因为这种方式做起来比较复杂,例如你需要用random access file, thread, synchronization 等等。此外,如果http server 是不support multipart的话, 那你就白写。
[ 本帖最后由 黑木头 于 8-6-2006 10:26 PM 编辑 ] |
|
|
|
|
|
|
|
楼主 |
发表于 8-6-2006 10:41 PM
|
显示全部楼层
原帖由 黑木头 于 8-6-2006 10:24 PM 发表
这里有一个简单的方法, 不知是不是你要的东西。
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
public class URLMain {
public static void main(String ...
嗯嗯,
这就是我要的!
非常的谢谢咯!
又欠你一个人情了。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|