请问怎么用JAVA来做一个网络上的下载工具 我想做一个通过输入URL,然后就可以下载东西的工具,请问需要准备哪些JAVA知识,如果有好书,推荐几本谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 APACHE的NET包就可以了 如果要自己实现的话 可以用java.net.*用URL来实现,前提是主机要开HTTP服务 哈哈,我正好做了一个多线程下载的小软件,为Linux系统做的.java.net.*如果你HTTP协议知道很多,会更好办. import java.net.*;创建RandomAccessFile对象存储下载private URL url;InputStream streamHttpURLConnection connection = (HttpURLConnection) url.openConnection();//open connection to urlConnection.conncet();用个while循环stream.read(buffer);推荐书籍:JAVA编程艺术 (The Art of JAVA) 清华大学出版社 我这样按理论应该是对了的吧,可是还是下载不起,报错原因是java.net.ConnectException: Connection timed out: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at sun.net.NetworkClient.doConnect(Unknown Source) at sun.net.www.http.HttpClient.openServer(Unknown Source) at sun.net.www.http.HttpClient.openServer(Unknown Source) at sun.net.www.http.HttpClient.<init>(Unknown Source) at sun.net.www.http.HttpClient.New(Unknown Source) at sun.net.www.http.HttpClient.New(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) at wanglei.DownTry.<init>(DownTry.java:30) at wanglei.DownTryMain.main(DownTryMain.java:15)代码如下package wanglei;import java.io.*;import java.net.*;import java.util.*;public class DownTry{ private static int BUFFER_SIZE = 8096;//缓冲区大小 String fileName ; String desturl ; URL url = null ; HttpURLConnection httpUrl = null ; BufferedInputStream bis = null ; BufferedOutputStream bos = null ; FileOutputStream fos = null ; byte[] buf = new byte[BUFFER_SIZE]; int size = 0; public DownTry(String durl,String fileName) throws IOException { desturl = durl ; this.fileName = fileName ; url = new URL(desturl) ; httpUrl =(HttpURLConnection)url.openConnection(); httpUrl.connect() ; bis = new BufferedInputStream(httpUrl.getInputStream()) ; fos = new FileOutputStream(this.fileName) ; while ( (size = bis.read(buf)) != -1) { fos.write(buf, 0, size); System.out.println("good") ; } fos.close(); bis.close(); httpUrl.disconnect(); } }请指教,谢谢 急求:怎样删除面板上的按钮等相关组件? 新手问题 关于AWT 问个很小白的问题 CTabFolder 问题 关于jdk的version [请教]相同的线程,重复执行的问题? 请教一个关于JNI的问题,急急急!!! jbuilder smart swap是什么含义,能用在web application的开发中吗?? swing问题,怎么样得到一个文件夹的路径? 怎样实现一个函数。。 40分,关于JTable 在JPanel中的问题 一条sql查询语句,请达人帮帮忙
用URL来实现,前提是主机要开HTTP服务
如果你HTTP协议知道很多,会更好办.
InputStream streamHttpURLConnection connection = (HttpURLConnection) url.openConnection();
//open connection to urlConnection.conncet();
用个while循环
stream.read(buffer);推荐书籍:JAVA编程艺术 (The Art of JAVA) 清华大学出版社
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at wanglei.DownTry.<init>(DownTry.java:30)
at wanglei.DownTryMain.main(DownTryMain.java:15)
代码如下package wanglei;import java.io.*;
import java.net.*;
import java.util.*;public class DownTry
{
private static int BUFFER_SIZE = 8096;//缓冲区大小 String fileName ;
String desturl ;
URL url = null ;
HttpURLConnection httpUrl = null ;
BufferedInputStream bis = null ;
BufferedOutputStream bos = null ;
FileOutputStream fos = null ;
byte[] buf = new byte[BUFFER_SIZE];
int size = 0; public DownTry(String durl,String fileName) throws IOException
{
desturl = durl ;
this.fileName = fileName ;
url = new URL(desturl) ;
httpUrl =(HttpURLConnection)url.openConnection();
httpUrl.connect() ;
bis = new BufferedInputStream(httpUrl.getInputStream()) ;
fos = new FileOutputStream(this.fileName) ;
while ( (size = bis.read(buf)) != -1)
{
fos.write(buf, 0, size);
System.out.println("good") ;
}
fos.close();
bis.close();
httpUrl.disconnect();
}
}请指教,谢谢