Giả sử tôi vừa sử dụng a BufferedInputStream
để đọc các byte của tệp văn bản được mã hóa UTF-8 thành một mảng byte. Tôi biết rằng tôi có thể sử dụng thói quen sau đây để chuyển đổi các byte thành một chuỗi, nhưng có cách nào hiệu quả hơn / thông minh hơn để thực hiện việc này hơn là chỉ lặp qua các byte và chuyển đổi từng byte không?
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[]
trong bộ nhớ và chuyển đổi nó qua new String(_bytes,"UTF-8")
(hoặc thậm chí bằng các đoạn có +=
trên chuỗi) là hiệu quả nhất. Chaining InputStreams và Reader có thể hoạt động tốt hơn, đặc biệt là trên các tệp lớn.
String fileString = new String(_bytes,"UTF-8");
?