Pasar de un outputStream a un String

Jon
07 de Abril del 2006
Hola, necesito obtener un String a partir de un OutputSream.
La cuestión es que tengo un objeto, que lo parseo a XML mediante org.apache.commons.betwixt.io.BeanWriter, y ahora lo necesito pasar por SOAP ese XML.
Gracias

Diego
07 de Abril del 2006
un OutputStream es un flujo de bytes de salida, al que le pasas bytes, no del que recibes datos, para obtener un String.

neossoftware
07 de Abril del 2006
Manera interesante de pasar objetos por la red.

Voy con el asunto de tu pregunta.

Si se puede usa lo siguiente

public final class IOUtil {

public static InputStream convertStream(ByteArrayOutputStream source)
throws IOException {
return new ByteArrayInputStream(source.toByteArray());
}

public static void convertStream(InputStream source, StringBuffer target)
throws IOException {
int c;
while (( c = source.read()) != -1) {
target.append((char) c);
}
}


}


Ahora en mi codigo asi uso la clase

baos es el OutPutStream

InputStream is = IOUtil.convertStream(baos);
IOUtil.convertStream(is, resultStream);

String resultString = resultStream.toString();

Saludos y espero que te sirva!!!!!