
{filelink=23}
import java.net.*;
import java.nio.*;
import java.nio.channels.*;
import java.io.*;
public class URLDownload2 {
  public static void main(String[] argv) throws IOException {
     URL lien = new URL("www.exemple.com");
    String host = lien.getHost();
    int port    = lien.getPort();
    String fichier = lien.getFile();
    if (fichier == null) fichier = "/";
    if (port <= 0) port = 80;
    SocketAddress remote = new InetSocketAddress(host, port);
    SocketChannel channel = SocketChannel.open(remote);
    FileOutputStream out = new FileOutputStream(fichier);
    FileChannel localFile = out.getChannel();
    String request = "GET " + fichier + " HTTP/1.1rn"
     + "User-Agent: HTTPGrabrn"
     + "Accept: text/*rn"
     + "Connection: closern"
     + "Host: " + host + "rn"
     + "rn";
    ByteBuffer header = ByteBuffer.wrap(request.getBytes("US-ASCII"));
    channel.write(header);
    ByteBuffer buffer = ByteBuffer.allocate(8192);
    while (channel.read(buffer) != -1) {
      buffer.flip();
      localFile.write(buffer);
      buffer.clear();
    }
    localFile.close();
    channel.close();
  }
}