Supponiamo che io abbia appena usato a BufferedInputStream
per leggere i byte di un file di testo codificato UTF-8 in un array di byte. So che posso usare la seguente routine per convertire i byte in una stringa, ma c'è un modo più efficiente / più intelligente di farlo che non solo iterare i byte e convertirli?
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[]
in memoria e convertirlo tramite new String(_bytes,"UTF-8")
(o anche con blocchi con +=
sulla stringa) è il più efficiente. Concatenare InputStreams e Reader potrebbe funzionare meglio, specialmente su file di grandi dimensioni.
String fileString = new String(_bytes,"UTF-8");
?