Java - Problemas con InputStremas y OutputStreams

 
Vista:

Problemas con InputStremas y OutputStreams

Publicado por Pedro (1 intervención) el 09/05/2001 20:02:17
En ejecucion me da un error al hacer new byte[l], es un error de dimensiones,como lo puedo resolver
public class comunicacion
{
private OutputStream os=null;
private InputStream is=null;

public comunicacion(Socket so)
{
try{
os=so.getOutputStream();
is=so.getInputStream();
}catch(IOException e){
System.err.println("Error al crear los streams del socket");
}
}
public void enviar()
{
try{
os.flush();
}catch(IOException e){
System.err.println("Error al enviar datos");
}
}
public void putString(String v)
{
byte[]b=v.getBytes();
putInt(b.length);
try{
os.write(b);
}catch(IOException ioe){}
}

public void putInt(int v)
{
try{
os.write(v);
}catch(IOException e){}
}

public String getString()
{
int l=getInt();
byte[]b=new byte[50];
try{
is.read(b);
}catch (IOException ioe){
}
return new String(b);

}

public int getInt()
{
byte[]b=new byte[4];
int val = 0;
try{
val=is.read(b);
}catch (IOException ioe){
return -1;
}
for(int i=0;i<4;i++)
val=val*256+b[i];
return val;
}
}
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:Problemas con InputStremas y OutputStreams

Publicado por Xavi Canal (241 intervenciones) el 11/05/2001 13:22:15
Nas,

no puedes, lo que puedes hacer es comprobar que I no sea mayor que
50 (que es lo que asignas ahora) y si lo es vuelves a leer (un bucle)

de todas maneras yo te recomiendo usar ObjectOutputStream y
ObjectInputStream, tienen los métodos writeInt(tuInt) y readInt()
respectivamente o writeUTF (tuString) y readUTF(), con esas
clases no necesitarás ni el engorro del Integer con el tamaño.

Las puedes crear con new ObjectOutputStream (tuStreamNormal);

att. Xavi Canal
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:Problemas con InputStremas y OutputStreams

Publicado por Jose Luis Valera (1 intervención) el 14/05/2001 10:08:29
Se pueden utilizar con sockets el ObjectInputStream y el ObjectOutputStream ,¿Como se haria lo que con el OutputStrean e InputStream se hacia
in=sockek.getInputStream();
out=socket.getIOutputStream();
?
Puedes ponerme un ejemplo.
Gracias.
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:Problemas con InputStremas y OutputStreams

Publicado por Xavi Canal (241 intervenciones) el 14/05/2001 11:01:26
Nas,

in = new ObjectInputStream (socket.getInputStream())
out = new ObjectoOutputStream (socket.getOutputStream())

donde in y out son ObjectInputStream y ObjectOutputStream
respectivamente

att. Xavi Canal
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:Problemas con InputStremas y OutputStreams

Publicado por Xavi Canal (241 intervenciones) el 14/05/2001 11:01:29
Nas,

in = new ObjectInputStream (socket.getInputStream())
out = new ObjectOutputStream (socket.getOutputStream())

donde in y out son ObjectInputStream y ObjectOutputStream
respectivamente

att. Xavi Canal
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:Problemas con InputStremas y OutputStreams

Publicado por Jose Luis (24 intervenciones) el 15/05/2001 14:47:42
Gracias por todo ha sido de gran ayuda.
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