Download de Ficheiros por HTTP com Java

Criei um pequeno método que permite o download de ficheiros via HTTP de forma simples e rapida.

public void static download(String address, String localFileName) {

    OutputStream out;

    URLConnection conn;

    InputStream  in;

    try {

        URL url = new URL(address);

        out = new BufferedOutputStream( new FileOutputStream(localFileName) );

        conn = url.openConnection();

        in = conn.getInputStream();

        byte[] buffer = new byte[1024];

        int numRead;

        long numWritten = 0;while ((numRead = in.read(buffer)) != -1) {

            out.write(buffer, 0, numRead);

            numWritten += numRead;

        }

System.out.println(localFileName + "\t" + numWritten);

    }

    catch (Exception exception) {

        exception.printStackTrace();

    }

    finally {

        try {

            if (in != null) {

                in.close();

            }

            if (out != null) {

                out.close();

            }
 }

        catch (IOException ioe) {

ioe.printStackTrace();

}
}

Como podemos ver de uma forma básica o que o método faz é estabelecer uma ligação HTTP ao endereço dado, inicia a leitura do ficheiro e escrita em simultâneo no destino dado.

Por Fábio Correia (White Magician)

Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google photo

Está a comentar usando a sua conta Google Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s