Nehmen wir an, ich habe gerade a verwendet BufferedInputStream
, um die Bytes einer UTF-8-codierten Textdatei in ein Byte-Array zu lesen. Ich weiß, dass ich die folgende Routine verwenden kann, um die Bytes in eine Zeichenfolge zu konvertieren. Gibt es jedoch eine effizientere / intelligentere Methode, als nur die Bytes zu durchlaufen und jedes einzelne zu konvertieren?
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[]
Speichers und das Konvertieren über new String(_bytes,"UTF-8")
(oder sogar durch Chunks mit +=
der Zeichenfolge) am effizientesten ist. Das Verketten von InputStreams und Readern funktioniert möglicherweise besser, insbesondere bei großen Dateien.
String fileString = new String(_bytes,"UTF-8");
?