CharBufferTest.java

import java.nio.*;
import java.util.regex.*;
public class CharBufferTest {
  public static void main(String[] args) {
    StringBuffer sb = new StringBuffer("Au revoir monde !");
    // Création du tampon enveloppe
    CharBuffer charB = CharBuffer.wrap(sb);
    System.out.println(charB.isReadOnly()); // Affiche true
    // Création d'une expression régulière
    Pattern pattern = Pattern.compile("Bonjour.*");
    Matcher matcher = pattern.matcher(charB);
    // Teste si le tampon contient Bonjour
    System.out.println(matcher.matches());  // Affiche false
    String st = "Bonjour monde !";
    // Création d'un tampon par recopie
    charB = CharBuffer.allocate(st.length());
    charB.put(st);
    System.out.println(charB.isReadOnly()); // Affiche false
    // Teste la présence de Bonjour dans le tampon
    // avant et après l'appel à flip()
    matcher = pattern.matcher(charB);
    System.out.println(matcher.matches());  // Affiche false
    charB.flip();
    System.out.println(matcher.matches());  // Affiche true
    System.out.println(charB.position());   // Affiche 0
  }
}