Misalkan saya baru saja menggunakan a BufferedInputStream
untuk membaca byte dari file teks yang dikodekan UTF-8 ke dalam array byte. Saya tahu bahwa saya dapat menggunakan rutin berikut untuk mengkonversi byte ke string, tetapi apakah ada cara yang lebih efisien / lebih pintar untuk melakukan ini daripada hanya iterasi melalui byte dan mengkonversi masing-masing?
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[]
dalam memori dan mengubahnya melalui new String(_bytes,"UTF-8")
(atau bahkan dengan potongan +=
pada string) adalah yang paling efisien. Chaining InputStreams dan Readers mungkin bekerja lebih baik, terutama pada file besar.
String fileString = new String(_bytes,"UTF-8");
?