La classe abstraite Reader est utilisée pour la lecture des flux de caractères. Les seules méthodes qu'une sous-classe doit implémenter sont read(char[], int, int) et close().

Toutefois, la plupart des sous-classes surchargeraient certaines des méthodes définies dans cette classe, afin de fournir une plus haute efficacité ou/et des fonctionnalités supplémentaires.

Les champs
protected Object lock
Ce champ représente l'objet utilisé pour les opérations de synchronisation sur le flux.

Les constructeurs
protected Reader()
crée un nouvel objet Reader duquel les parties critiques se synchroniseraient sur le lecteur lui-même.
protected Reader(Object lock)
crée un nouvel objet Reader duquel les parties critiques se synchroniseraient sur l'objet fourni.

Les méthodes
abstract void close()
ferme le flux.
void mark(int readAheadLimit)
marque la position courante dans le flux.
boolean markSupported()
indique si le flux supporte la méthode mark().
int read()
lit un seul caractère.
int read(char[] cbuf)
lit les caractères à partir du flux et les place dans le tableau passé en argument.
abstract int read(char[] cbuf, int off, int len)
lit les caractères à partir du flux en suivant une position de départ et jusqu'à une certaine longueur et les place dans le tableau passé en argument.
boolean ready()
indique si le flux est prêt à être lu.
void reset()
réinitialise le flux.
long skip(long n)
saute un certain nombre de caractères.
Les méthodes héritées de la classe java.lang.Object
clone, equals, finalize, getClass, hashCode,
notify, notifyAll, toString, wait, wait, wait