Como pegar o tamanho de um arquivo (denotado por URL)atraves de stream

5 respostas
Paulo_da_Silva_Silve
Olha galera eu quero fazer a transferencia de um arquivo denotado por uma URL atravez de uma stream de um servidor remoto (fazer download)

: assim

urlFile = new URL(url);			

//criando stream

System.out.println(Criando stream…”);	

fileStreamBuffered = new BufferedInputStream(new DataInputStream (urlFile.openStream()));

eu faço transferencia com:
fileStreamBuffered.read(vetorDeBytes);

Teria como consiguir de algum jeito o numero de bytes do arquivo (pegar o tamamho do arquivo) ? Como os DownloadManagers fazem quando começam um novo download.
Valeu pela atenção.

5 Respostas

Rafael_Steil

inputStream.available() ?

Rafael

Paulo_da_Silva_Silve

Não funciona com arquivos na internet pois se o arquivo tem uns 3MB o método available() só retorna o numero de bytes que da pra ler de uma vez como não se transfere 3MB de uma vez em conexão discada o metodo retorna uns 6KB o que não é o tamanho do arquivo.
No mesmo computador esse método funciona.

Rafael_Steil

Bom, a propria documentacao da classe URLConnection ja diz tudo: basta usar o metodo

getContentLength()

Rafael

Paulo_da_Silva_Silve

Vou tentar. (Eu não estava usando essa classe)
Valeu.

C

e como se faz para pegar o nome do arquivo com o URLConnection??

tipo:

arquivo.jsp

=)
valews!! :stuck_out_tongue:

Criado 12 de junho de 2005
Ultima resposta 13 de nov. de 2007
Respostas 5
Participantes 3