Java - Ayuda con DataInputStream pls

 
Vista:

Ayuda con DataInputStream pls

Publicado por Jose (3 intervenciones) el 12/12/2003 13:41:02
A ver si podeis ayudarme ,el problema viene a la hora de leer de un Socket a traves del DataInputStream y guardar el contenido en un archivo ; el codigo seria algo asi :

s=new Socket(unhost,puertoServidor);
DataInputStream entrada=new DataInputStream(s.getInputStream());
******************************************
FileOutputStream fos=new FileOutputStream(es); // "es" es de tipo file
byte[] prueba=new byte[1024];
int cuenta=0;
try{
while((cuenta=entrada.read(prueba))!=-1){
fos.write(prueba,0,cuenta);
}
}catch(IOException e){}
el problema es que salta la IOException y no se porque ocurre,
a ver si podeis decirme cual es el fallo.
Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con DataInputStream pls

Publicado por chuidiang (532 intervenciones) el 15/12/2003 09:39:23
No se si es lo que te pasa, pero se me ocurre lo siguiente

Si le mandas leer al socket mas caracteres de los que hay, es posible que te salte la excepción. Prueba a enviar un fichero de exactamente 1024 bytes o más grande, a ver si hace al menos las primeras lecturas.

Si no es esto, lo único que se me ocurre es que verifques que el socket esta conectado y que en el fichero se puede escribir. Mete el read y el write en dos try distintos, para ver exactamente cual de los dos es el que te da el error.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con DataInputStream pls

Publicado por jose (3 intervenciones) el 17/12/2003 11:11:51
Vale , el problema era que intentaba leer mas bytes de los que habia en el socket y por eso saltaba la IOException .
La solucion que le he dado ha sido mandar primero el tamaño del archivo que mandaba por el socket y leer exactamente ese numero de bytes del socket al mandar el archivo en si.
Si se os ocurre algo mejor os agradeceria que lo escribierais.
Gracias por todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar