Come si aggiunge una porzione di array di byte a un oggetto StringBuilder in Java? Ho un segmento di una funzione che legge da un InputStream in un array di byte. Allora voglio accodare tutto ciò che ho letto in un oggetto StringBuilder:aggiungi la parte dell'array java byte 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
}
Quale codifica utilizza il testo? Il metodo sopra funzionerà con ASCII ma potrebbe fallire su qualsiasi stringa multi-byte come UTF-8 o UTF-16 (puoi leggere la stringa parziale dal buffer e ottenere solo metà della definizione del char alla fine, lasciando anche l'inizio non valido per la porzione successiva) – tomash
'String s = new String (buffer, 0, len," UTF-8 ");' per altre codifiche che ASCII –
Hai verificato per caso se questo si esegue più velocemente di 'ByteArrayOutputStream'? Suppongo che lo farà. – Kashyap