สมมุติว่าฉันเพิ่งใช้ a BufferedInputStream
เพื่ออ่านไบต์ของไฟล์ข้อความที่เข้ารหัส UTF-8 ลงในอาร์เรย์ไบต์ ฉันรู้ว่าฉันสามารถใช้รูทีนต่อไปนี้เพื่อแปลงไบต์เป็นสตริง แต่มีวิธีที่มีประสิทธิภาพ / ชาญฉลาดกว่าในการทำสิ่งนี้มากกว่าแค่วนซ้ำผ่านไบต์และแปลงแต่ละรายการหรือไม่
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[]
ในหน่วยความจำและการแปลงผ่านnew String(_bytes,"UTF-8")
(หรือแม้กระทั่งโดยชิ้นที่มี+=
สตริง) มีประสิทธิภาพมากที่สุด Chaining InputStreams and Readers อาจทำงานได้ดีขึ้นโดยเฉพาะในไฟล์ขนาดใหญ่
String fileString = new String(_bytes,"UTF-8");
?