Supongamos que acabo de utilizar a BufferedInputStream
para leer los bytes de un archivo de texto codificado UTF-8 en una matriz de bytes. Sé que puedo usar la siguiente rutina para convertir los bytes en una cadena, pero ¿hay una manera más eficiente / inteligente de hacer esto que simplemente iterar a través de los bytes y convertir cada uno?
public String openFileToString(byte[] _bytes)
{
String file_string = "";
for(int i = 0; i < _bytes.length; i++)
{
file_string += (char)_bytes[i];
}
return file_string;
}
byte[]
en la memoria y convertirlo a través de new String(_bytes,"UTF-8")
(o incluso por fragmentos con +=
la cadena) sea lo más eficiente. El encadenamiento de InputStreams y lectores podría funcionar mejor, especialmente en archivos grandes.
String fileString = new String(_bytes,"UTF-8");
?