我想做一个通过输入URL,然后就可以下载东西的工具,请问需要准备哪些JAVA知识,如果有好书,推荐几本谢谢!

解决方案 »

  1.   

    APACHE的NET包就可以了  如果要自己实现的话 可以用java.net.*
    用URL来实现,前提是主机要开HTTP服务
      

  2.   

    哈哈,我正好做了一个多线程下载的小软件,为Linux系统做的.java.net.*
    如果你HTTP协议知道很多,会更好办.
      

  3.   

    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) 清华大学出版社
      

  4.   

    我这样按理论应该是对了的吧,可是还是下载不起,报错原因是
    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();      
          
     }
     
    }请指教,谢谢