Baixar arquivo da Web

Opa pessoal!

estou tentando fazer um aplicatico que baixe algum arquivo da internet! um doc.zip por exemplo. Pelo livro do deitel a parte de redes ta muito vaga! E aqui no forum eu nao encontrei nada do genero! Alguma ideia!?

desde já agradeço a todos pela paciencia! :slight_smile:

[quote=“TBispo”]Opa pessoal!

estou tentando fazer um aplicatico que baixe algum arquivo da internet! um doc.zip por exemplo. Pelo livro do deitel a parte de redes ta muito vaga! E aqui no forum eu nao encontrei nada do genero! Alguma ideia!?

desde já agradeço a todos pela paciencia! :)[/quote]

TBispo,

Verifique este exemplo que fiz e veja se te ajuda em alguma coisa.

public class FileDownload extends HttpServlet {
    public void doGet(HttpServletRequest request, 
                      HttpServletResponse response) {
        try {
            URL url = this.getClass().getResource("resources/MessageResource_en.properties");
            InputStream in = new FileInputStream(url.getFile());

            response.setContentType("application/pdf");
            response.setHeader("Content-Disposition", 
                               "attachment; filename=\"" + url.getFile() + "\"");

            ServletOutputStream out = response.getOutputStream();
            int c = in.read();
            while (c != -1) {
                out.write(c);
                c = in.read();
            }
            out.flush();
            out.close();            
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

No web.xml registre isso

<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app ......>
  ...
  ...
  ...
  <servlet>
    <servlet-name>fileDownload</servlet-name>
    <servlet-class>py.com.datapar.view.FileDownload</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>fileDownload</servlet-name>
    <url-pattern>/download/*</url-pattern>
  </servlet-mapping>
  ...
  ...
  ...
</web-app>

Para recuperar o arquivo use a seguinte URL:

Observe que no final da URL tem a palavra “download” que refere-se ao url-pattern do servlet-mapping.

Observe também que na classe FileDownload na linha:

URL url = this.getClass().getResource("resources/MessageResource_en.properties");

Foi buscado um arquivo estaticamente, entretanto vc pode recuperar o nome do arquivo através de um request.getAttribute(“arquivo”).

Este é somente um exemplo simples somente para mostrar pra como funciona.

@braços,