Załóżmy, że właśnie użyłem a BufferedInputStream
do odczytania bajtów pliku tekstowego zakodowanego w UTF-8 do tablicy bajtów. Wiem, że mogę użyć poniższej procedury do konwersji bajtów na ciąg, ale czy istnieje bardziej wydajny / mądrzejszy sposób na zrobienie tego niż tylko iteracja po bajtach i konwersja każdego z nich?
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[]
do pamięci i konwertuje ją przez new String(_bytes,"UTF-8")
(lub nawet fragmenty za pomocą+=
ciągiem) jest najbardziej wydajna. Łączenie strumieni wejściowych i czytników może działać lepiej, szczególnie w przypadku dużych plików.
String fileString = new String(_bytes,"UTF-8");
?