Recibir con read o readLine

Gus
20 de Septiembre del 2004
Hola,
tengo un socket entre C y java donde tengo problemas al recibir en java. Como puedo hacerlo? Qué es mejor, usar read (pero entonces tendria que recibir primero el tamaño, no?) o usar readLine (entonces tendria que añadir un n a todas las cadenas que mandase desde C?).
De momento hago esto pero no me funciona, el entero que recibe es desproporcionado

int c = in.readInt();
byte [] au = null;
au = new byte[c];
in.read(au, 0, c);
String d = new String (au);
in.read(au,0,1); // Se lee el
System.out.println(" RESULTADO: "+d);

Por cierto, estoy obligado a trabajar en Windows, con todo lo que ello implica.
Cualquier sugerencia o mail es bienvenido!
Gracias!


isacristan
20 de Septiembre del 2004
lo que tendrían que hacer un bucle para que recorra tu buffer

FileOutputStream out = new FileOutputStream( direccion+nomFichero );
PrintStream ps = new PrintStream(out);
for(int br = is.read(au); br > -1; br = is.read(au)) {
ps.write(au,0,br);
}