Duvida - Aplicação de Download em Java

4 respostas
malves_info

Ae galera, Estou querendo desenvolver um aplicativo em JAVA que faz downloads de arquivos de um determinado servidor. E nesse aplicativo ao iniciar um download quero que ele divida o arquivo em 2 parte por exemplo, e baixar o arquivo e depois juntar em um único arquivo, como é feito nas ferramentas de downloads.

Alguém teria algum material pra da uma luz??

Agradeço desde já!

[]'s

4 Respostas

T

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2

Basicamente, existe um cabeçalho que você pode mandar em uma requisição http para poder puxar apenas um pedaço selecionado de um arquivo e que se chama “range”. Procure por isso (só dei para você um link para a especificação).

malves_info

Valeu!

malves_info

thingol,

Esta solução funcionou para arquivos pdf. No meu caso, além do pdf eu preciso baixar arquivos .gz. Neste segundo caso
utilizando o mesmo código do pdf, ocorre algum problema, ao tentar abrir o arquivo .gz depois de juntar as duas partes
dá uma mensagem de arquivo corrompido, mesmo o arquivo possuindo o mesmo tamanho do arquivo original.

Tentei usar GZIPInputStream para ler as duas partes do arquivo que baixei, só que ao ler a segunda parte do arquivo (a que eu uso o Range pra dividir) ocorre uma exceção dizendo que o arquivo não está no formato correto.

T

Use algum programa que faça a comparação binária de dois arquivos (como o ‘fc.exe’ do Windows - fc /b ) para ver que tipo de corrupção houve no seu arquivo.
Normalmente corrupção de arquivos deve-se ao fato de usar Reader em vez de InputStream e trabalhar com Strings em vez de trabalhar diretamente com byte[].

Criado 30 de julho de 2009
Ultima resposta 3 de ago. de 2009
Respostas 4
Participantes 2