Diyelim ki BufferedInputStream
UTF-8 kodlu bir metin dosyasının baytlarını bir bayt dizisine okumak için a kullandım . Ben bir dizeye bayt dönüştürmek için aşağıdaki rutin kullanabilirsiniz biliyorum, ama bunu sadece baytlar yineleme ve her birini dönüştürmekten daha etkili / daha akıllı bir yolu var mı?
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[]
hafızanın tamamını yüklemek ve new String(_bytes,"UTF-8")
(ya da hatta +=
dizeyle parçalar tarafından) dönüştürmek en verimli olduğundan emin değilim . Zincirleme InputStreams ve Okuyucular, özellikle büyük dosyalarda daha iyi çalışabilir.
String fileString = new String(_bytes,"UTF-8");
?