Sono consapevole che flip() imposta la posizione del buffer corrente su 0 e imposta il limite sulla posizione del buffer precedente mentre rewind() imposta semplicemente la posizione del buffer corrente su 0.differenza tra bytebuffer.flip() e bytebuffer.rewind()
Nel seguente codice, o utilizzo rewind() o flip() ottengo lo stesso risultato.
byte b = 127;
bb.put(b);
bb.rewind();//or flip();
System.out.println(bb.get());
bb.rewind();// or flip();
System.out.println(bb.get());
Potrebbe fornirmi un esempio reale in cui la differenza tra questi due metodi è davvero importante? Grazie in anticipo. EDIT: Ho trovato la soluzione nel collegamento this, è molto ben spiegata e dettagliata per una conoscenza approfondita dell'uso del buffer e delle classi di canali.
Può cortesemente dirmi perché hai scritto 'read()/put()' e 'write()/get () '? Non dovrebbe essere 'read()/get()' e 'write()/put()'? Dal momento che ottenere un'operazione significa leggere e mettere implica scrivere? – user963241