Giả sử tôi vừa sử dụng 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 các thói quen sau đây để chuyển đổi các byte vào một chuỗi, nhưng là có một cách hiệu quả hơn/thông minh hơn để làm điều này hơn là chỉ iterating thông qua các byte và chuyển đổi mỗi một?UTF-8 byte [] vào chuỗi
public String openFileToString(byte[] _bytes)
{
String file_string = "";
for(int i = 0; i < _bytes.length; i++)
{
file_string += (char)_bytes[i];
}
return file_string;
}
Tại sao không thể bạn chỉ làm điều này 'Chuỗi fileString = new String (_bytes, "UTF-8"); '? – CoolBeans
Ngoài ra, bạn có thể sử dụng BufferedReader để đọc vào một mảng char. –
có thể trùng lặp của [Trong Java, làm cách nào để đọc/chuyển đổi một InputStream thành một chuỗi?] (Http://stackoverflow.com/questions/309424/in-java-how-do-i-read-convert-an- inputstream-to-a-string) – Bruno