Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

magician

Download em Java

Mensagens Recomendadas

magician    2
magician

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ê.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Hipnoted    6
Hipnoted

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. ;)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
magician    2
magician

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
magician    2
magician

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....

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Rui Carlos    309
Rui Carlos

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?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
keim    0
keim

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?

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


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade