• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

magician

Download em Java

11 mensagens neste tópico

Boas tou a tentar criar um FlashGet em Java, assim uma versão simples para sacar um file de cada vez, mas estou aqui com um problema, antes do que estou agora a tentar fazer eu fiz uma teste para sacar um file e grava-lo logo directo no disco, até aqui tudo bem, mas agora estou a tentar algo mais rapido, vejo o tamanho do file, parto em 10, e ele descarrega 10 file.par ao mesmo tempo e no fim junta tudo num só para obter o original. bem ele parte o file em 10, grava no disco com o tamanho certo para cada um dos par, junta num só que também fica com o tamanho certo mas corrompido :S E não sei como resolver isto ;) Alguem sabem como posso resolver isto ou como posso garantir que os bytes estao a ser colocados no local certo ?

PS : Estou a fazer o download e a junção com buffers de 1 byte e não com buffer de 1024 como normalmente se vê.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Talvez a melhor maneira seja nomeares isso em partes por números. Acho que já estás a fazer assim...

Tipo o ficheiro tem 105 Bytes. Os primeiros 10 bytes são gravados num ficheiro chamado "part1", os segundos 10 bytes são gravados em "part2", etc...

Para atribuir nomes não é assim tão dificil, concatenas as strings, a primeira é "part" a outra é uma variável que começa a 0 a vai incrementando, passas essa variavel para string e concatenas.

Mas antes disso tudo convém enviar o tamanho de cada file. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim ele já faz isso tudo cria file.par1 file.par2... e todos com o mesmo tamanha menos o utimo que fica com o seu tamanho + o file.size % 10. Penso que não é ai o problema, alias já fiz alguns testes e em files de texto, pdfs, e algumas imagens ele worka bem mas para files comprimidos, bin e por ai fora dá buraco :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

estás a verificar se os ficheiros são binários ou de texto e a ter isso em conta ao fazer o download?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não ele trata todos da mesma forma. Basicamente o que faço é um OpenStream da URL e dessa stream faço varios blocos de read(buffer) onde o buffer = new byte[1024] ou new byte[1], já tentei das duas formas com 1024 e com 1 e da no mesmo. depois tipo digo que o par1 começa em 0 até por exemplo 2000bytes o par2 de 2001 até 4000 e por ai....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

como os ficheiros de texto estão a funcionar e os binários não, talvez ele esteja a tratar tudo como ficheiros de texto.

antes de separar os ficheiros em partes estava a funcionar para todos os formatos?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isto cada vez é mais estranho :S testei agora com mp3 e funca bem mas nos casos já referidos continua na mesma:S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o que precisas para fazer um download de um ficheiro em java?

eu precisava de fazer o download de um xml para o editar e voltar a coloca-lo no sitio.

é mto complicado?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se tiveres permissão para escrever no servidor não penso que não existem muito problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

podias me dar umas pequenas luzes de como?? ou indicar onde posso ir pesquisar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora