¿Cómo añado una porción de la matriz de bytes a un objeto StringBuilder en Java? Tengo un segmento de una función que lee desde un InputStream en una matriz de bytes. entonces quiero añadir lo leí en un objeto StringBuilder:anexar parte de la matriz de bytes de Java a StringBuilder
byte[] buffer = new byte[4096];
InputStream is;
//
//some setup code
//
while (is.available() > 0)
{
int len = is.read(buffer);
//I want to append buffer[0] to buffer[len] into StringBuilder at this point
}
¿Qué codificación usa el texto? El método anterior funcionará con ASCII pero puede fallar en cadenas de varios bytes como UTF-8 o UTF-16 (puede leer una cadena parcial desde el búfer y obtener solo la mitad de la definición de char al final, dejando también el comienzo no válido para la siguiente porción) – tomash
'Cadena s = nueva Cadena (buffer, 0, len," UTF-8 ");' para otras codificaciones que ASCII –
¿Revisó por casualidad si esto funciona más rápido que 'ByteArrayOutputStream'? Supongo que sí. – Kashyap