Đây có phải là:Làm thế nào để khởi tạo một ByteBuffer nếu bạn không biết có bao nhiêu byte để phân bổ trước?
ByteBuffer buf = ByteBuffer.allocate(1000);
... cách duy nhất để khởi tạo một ByteBuffer
?
Điều gì xảy ra nếu tôi không biết mình cần phân bổ bao nhiêu byte ..?
Edit: Thông tin chi tiết:
tôi là chuyển đổi định dạng file một hình ảnh vào một tập tin TIFF. Vấn đề là định dạng tập tin bắt đầu có thể là bất kỳ kích thước nào, nhưng tôi cần phải ghi dữ liệu trong TIFF đến ít cuối. Vì vậy, tôi đang đọc những thứ tôi cuối cùng sẽ in tập tin TIFF vào ByteBuffer đầu tiên vì vậy tôi có thể đặt tất cả mọi thứ trong Little Endian, sau đó tôi sẽ viết nó vào outfile. Tôi đoán kể từ khi tôi biết IFD dài bao lâu, tiêu đề là, và tôi có thể tìm ra số byte trong mỗi mặt phẳng ảnh, tôi có thể sử dụng nhiều ByteBuffer trong toàn bộ quá trình này.
Một' StringBuffer' hoạt động khác nhau. Một 'ByteBuffer' sẽ chỉ ném một' BufferOverflowException' nếu bạn cố gắng thêm nhiều hơn nữa. – bvdb