Problema al leer archivo desde una URL
Publicado por DaN (1 intervención) el 12/01/2006 09:42:34
Mi problema es que al intentar leer un archivo que reside en una página web en un array de bytes para pasarlo posteriormente a un archivo en mi disco duro. El código sería parecido a lo que sigue:
public byte[] getBytesFromUrl(String direccion) throws Exception{
URL url = new URL(direccion);
URLConnection con = url.openConnection();
InputStream s = con.getInputStream();
byte[] data = new byte[s.available()];
s.read(data);
s.close();
return data;
}
El problema está en que tan sólo me lee 16.126 bytes del archivo, es decir unos 16 KB aprox. cuando el archivo realmente tiene unos 256 KB. Cada vez que hago un debug me doy cuenta de que siempre lee la misma cantidad de bytes (independientemente del tamaño del fichero que le paso, pues he probado con varios).
Me reconoce perfectamente el tipo de archivo que está leyendo (content type) e incluso cuando abro el archivo en un block de notas me aparece parte de su contenido (los 16 KB que leyó). Me parece muy extraño sobre todo que siempre lea la misma cantidad de bytes 16.126. Ni uno más ni uno menos.
Por favor necesito ayuda con esto.
Muchas gracias.
public byte[] getBytesFromUrl(String direccion) throws Exception{
URL url = new URL(direccion);
URLConnection con = url.openConnection();
InputStream s = con.getInputStream();
byte[] data = new byte[s.available()];
s.read(data);
s.close();
return data;
}
El problema está en que tan sólo me lee 16.126 bytes del archivo, es decir unos 16 KB aprox. cuando el archivo realmente tiene unos 256 KB. Cada vez que hago un debug me doy cuenta de que siempre lee la misma cantidad de bytes (independientemente del tamaño del fichero que le paso, pues he probado con varios).
Me reconoce perfectamente el tipo de archivo que está leyendo (content type) e incluso cuando abro el archivo en un block de notas me aparece parte de su contenido (los 16 KB que leyó). Me parece muy extraño sobre todo que siempre lea la misma cantidad de bytes 16.126. Ni uno más ni uno menos.
Por favor necesito ayuda con esto.
Muchas gracias.
Valora esta pregunta


0