Tôi biết rằng flip() đặt vị trí bộ đệm hiện tại thành 0 và đặt giới hạn cho vị trí đệm trước đó trong khi tua lại() chỉ cần đặt vị trí bộ đệm hiện tại thành 0.Sự khác biệt giữa bytebuffer.flip() và bytebuffer.rewind()
Trong mã sau, tôi sử dụng tua lại() hoặc lật() tôi nhận được kết quả tương tự.
byte b = 127;
bb.put(b);
bb.rewind();//or flip();
System.out.println(bb.get());
bb.rewind();// or flip();
System.out.println(bb.get());
Bạn có thể cho tôi ví dụ thực sự về sự khác biệt của 2 phương pháp này thực sự quan trọng không? Cảm ơn trước. EDIT: Tôi tìm thấy giải pháp trong liên kết this, nó được giải thích rất kỹ và chi tiết để hiểu rõ về việc sử dụng bộ đệm và kênh.
bạn có thể vui lòng cho tôi biết tại sao bạn lại viết 'read()/put() 'và' write()/nhận được () '? Nó không phải là 'read()/get()' và 'write()/put()'? Kể từ khi nhận được hoạt động có nghĩa là đọc và đặt ngụ ý bằng văn bản? – user963241