Fichero corrupto en OutputStream
Publicado por Salvador (62 intervenciones) el 11/01/2006 17:06:18
Hola a todos,
Tengo una aplicacion cliente servidor la cual pasa un fichero zip a traves de un socket a la parte cliente.
El sistema funciona, pero el fichero resultante en el cliente es corrupto, tiene exactamente el mismo tamaño pero el comando "diff" me dice que no son iguales. No se donde puede estar el problema.
El metodo que utilizo para mandar el fichero al cliente es:
------SERVIDOR
public void vuelcaBuffer(OutputStream out, InputStream in) {
byte[] readBuffer = new byte[common.actSize];
try {
in.read(readBuffer,0,readBuffer.length);
out.write(readBuffer);
out.flush();
}catch (IOException e) {
System.out.println(e.fillInStackTrace());
System.out.println("ERROR");
}
}
Donde out es el outputstream del socket y in es el inputStream del fichero (he probado tambien con FileInputStream y el error persiste). El metodo del cliente para recoger el fichero es:
-------CLIENTE
public void vuelcaBuffer(OutputStream out, InputStream in) {
byte[] readBuffer = new byte[common.actSize];
int len;
try {
len = in.read(readBuffer);
out.write(readBuffer,0,len);
out.flush();
} catch (IOException e) {
System.out.println(e.fillInStackTrace());
}
}
Donde out es el outputStream al fichero (tambien he probado con FileOutputStream con identico error) e in es el inputStream del Socket.
Gracias por vuestra ayuda
Tengo una aplicacion cliente servidor la cual pasa un fichero zip a traves de un socket a la parte cliente.
El sistema funciona, pero el fichero resultante en el cliente es corrupto, tiene exactamente el mismo tamaño pero el comando "diff" me dice que no son iguales. No se donde puede estar el problema.
El metodo que utilizo para mandar el fichero al cliente es:
------SERVIDOR
public void vuelcaBuffer(OutputStream out, InputStream in) {
byte[] readBuffer = new byte[common.actSize];
try {
in.read(readBuffer,0,readBuffer.length);
out.write(readBuffer);
out.flush();
}catch (IOException e) {
System.out.println(e.fillInStackTrace());
System.out.println("ERROR");
}
}
Donde out es el outputstream del socket y in es el inputStream del fichero (he probado tambien con FileInputStream y el error persiste). El metodo del cliente para recoger el fichero es:
-------CLIENTE
public void vuelcaBuffer(OutputStream out, InputStream in) {
byte[] readBuffer = new byte[common.actSize];
int len;
try {
len = in.read(readBuffer);
out.write(readBuffer,0,len);
out.flush();
} catch (IOException e) {
System.out.println(e.fillInStackTrace());
}
}
Donde out es el outputStream al fichero (tambien he probado con FileOutputStream con identico error) e in es el inputStream del Socket.
Gracias por vuestra ayuda
Valora esta pregunta


0