Làm cách nào để nối thêm một phần mảng byte vào đối tượng StringBuilder trong Java? Tôi có một phân đoạn của một hàm đọc từ InputStream thành một mảng byte. sau đó tôi muốn thêm bất cứ điều gì tôi đọc vào một đối tượng StringBuilder:nối thêm một phần của mảng byte java vào StringBuilder
byte[] buffer = new byte[4096];
InputStream is;
//
//some setup code
//
while (is.available() > 0)
{
int len = is.read(buffer);
//I want to append buffer[0] to buffer[len] into StringBuilder at this point
}
Văn bản của bạn sử dụng văn bản nào? Phương thức trên sẽ làm việc với ASCII nhưng có thể thất bại trên bất kỳ chuỗi nhiều byte nào như UTF-8 hoặc UTF-16 (bạn có thể đọc một phần chuỗi từ bộ đệm và chỉ nhận được một nửa định nghĩa char ở cuối; – tomash
'String s = chuỗi mới (buffer, 0, len," UTF-8 ");' cho các mã hóa khác hơn ASCII –
Bạn có kiểm tra bằng bất kỳ cơ hội nào nếu điều này thực hiện nhanh hơn 'ByteArrayOutputStream' không? Tôi cho là vậy. – Kashyap