Le paquetage java.io fournit le système d'entrée et de sortie par l'intermédiaire des flux de données, des outils permettant la sérialisation et d'autres pour gérer le système de fichiers.

Les interfaces
DataInput L'interface DataInput fournit pour les octets lus à partir d'un flux binaire et reconstruisant à partir de leurs données dans n'importe quel des types primitifs Java.
DataOutput L'interface DataOutput fournit pour la conversion de données de n'importe lequel des types primitifs Java vers une série de byte et écrivant ces octets vers un flux binaire.
Externalizable Seulement les identités de classe d'une ainstance de la classe Externalizable est écrit dans un flux de sérialisation et est le responsable de la classe pour la sauvegarde et la restauration du contenu de ses instances.
FileFilter L'interface FileFilter est un filtre pour les chemins abstraits.
FilenameFilter Les instances de classes qui implémente l'interface FilenameFilter sont utilisées pour filtrer les noms de fichiers.
ObjectInput L'interface ObjectInput hérite de l'interface DataInput pour inclure la lecture d'objets.
ObjectInputValidation Le rappel d'interface permet la validation des objets à l'intérieur d'un graphe.
ObjectOutput L'interface ObjectOutput hérite de l'interface DataOutput pour inclure l'écriture d'objets.
ObjectStreamConstants L'interface ObjectStreamConstants représente les constantes écrites à l'intérieur d'un flux de sérialisation d'objet.
Serializable La capacité de sérialiser une classe est activée par la classe implémentant l'interface Serializable.

Les classes
BufferedInputStream La classe BufferedInputStream ajoute des fonctionnalités à un autre flux d'entrée, la capacité de stocker dans un tampon l'entrée et de supporter les méthodes mark et reset.
BufferedOutputStream La classe BufferedOutputStream implémenté un flux de sortie placé dans en mémoire tampon.
BufferedReader La classe BufferedReader lit du texte à partir d'un flux d'entrée de caractères, mettant en mémoire tampon les caractères afin de fournir pour une lecture efficace des caractères, de tableaux et de lignes.
BufferedWriter La classe BufferedWriter écrit du texte vers un flux de sortie de caractères, mettant en mémoire tampon les caractères pour une écriture efficace de caractères, de tableaux et de chaînes de caractères.
ByteArrayInputStream La classe ByteArrayInputStream contient une mémoire tampon interne qui conserve les octets pouvant être lus à partir d'un flux.
ByteArrayOutputStream La classe ByteArrayOutputStream implémente un flux de sortie dans lequel les données sont écrites à l'intérieur d'un tableau d'octets.
CharArrayReader La classe CharArrayReader implémente une mémoire tampon de caractères pouvant être utilisé comme un flux d'entrée de caractères.
CharArrayWriter La classe CharArrayWriter implémente une mémoire tampon de caractères pouvant être utilisé comme un flux de sortie de caractères.
DataInputStream Un flux d'entrée de données laisse une application lire les types de données Java primitifs à partir d'un flux d'entrée sous-jacent dans une direction indépendante de la machine.
DataOutputStream Un flux de sortie de données laisse une application écrire les types de données Java primitifs à partir d'un flux de sortie sous-jacent dans une direction indépendante de la machine.
File La classe File constitue une représentation abstraite de chemins de fichiers et de répertoires.
FileDescriptor Les instances de la classe FileDescriptor servent de gestionnaire non-transparents vers la structure de machines spécifiques sous-jacentes représentant un fichier ou une socket ouverte, etc..
FileInputStream La classe FileInputStream obtient les octets d'entrée à partir d'un fichier dans un système de fichiers.
FileOutputStream La classe FileOutputStream est un flux de sortie pour l'écriture de données vers un objet File ou FileDescriptor.
FilePermission La classe FilePermission représente un accès à un fichier ou un répertoire.
FileReader Convenience class for reading character files.
FileWriter La classe FileWriter permet d'écrire des fichiers composés de caractères.
FilterInputStream La classe FilterInputStream contient certains autres flux d'entrée, qu'elle utilise en tant que source de données basique, probablement en transformant les données d'après la méthode ou fournissant des fonctionnalités additionnelles.
FilterOutputStream La classe FilterOutputStream est la superclasse de toutes les classes qui filtre les flux de sortie.
FilterReader La classe abstraite FilterReader permet de filtrer les flux d'entrée de caractères.
FilterWriter La classe abstraite FilterReader permet de filtrer les flux de sortie de caractères.
InputStream La classe abstraite InputStream est la superclasse de toutes les classes représentant un flux d'entrée d'octets.
InputStreamReader La classe InputStreamReader est un pont des flux d'octets vers des flux de caractères : il lit des octets et les décode selon des caractères utilisant un jeu de caractères spécifié.
LineNumberInputStream Dépréciée. La classe LineNumberInputStream suppose incorrectement que des octets représentent convenablement des caractères.
LineNumberReader La classe LineNumberReader représente un flux d'entrée de caractères qui conserve la piste des numéros de ligne.
ObjectInputStream Une classe ObjectInputStream désérialise des données et des objets primitifs précédemment écrits en utilisant un objet ObjectOutputStream.
ObjectInputStream.GetField La classe ObjectInputStream.GetField fournit un accès en lecture à des champs du flux d'entrée.
ObjectOutputStream La classe ObjectOutputStream écrit des types de données primitives et des graphes d'objets Java vers un objet OutputStream.
ObjectOutputStream.PutField La classe ObjectOutputStream.PutField fournit un accès programmatique à des champs persistants pour être écrit vers un objet ObjectOutput.
ObjectStreamClass La classe ObjectStreamClass est un descripteur de l'objet Serializationpour les classes.
ObjectStreamField La classe ObjectStreamField représente une description d'un champ Serializable à partir d'une classe Serializable.
OutputStream La classe abstraite OutputStream est la superclasse de toutes les classes représentant un flux de sortie d'octets.
OutputStreamWriter La classe OutputStreamWriter représente un pont entre les flux de caractères et les flux d'octets : les caractères écrits vers elle, sont codés dans des octets en utilisant un jeu de caractères spécifié.
PipedInputStream Un flux d'entrée doit être connecté à un flux de sortie, le conduit du flux d'entrée fournit alors quelques octets de données qui sont écrits vers le conduit du flux de sortie.
PipedOutputStream Un flux de sortie peut être connecté à un flux d'entrée pour créer un conduit de communications.
PipedReader La classe PipedReader représente un conduit de flux d'entrée de caractères.
PipedWriter La classe PipedWriter représente un conduit de flux de sortie de caractères.
PrintStream La classe PrintStream ajoute des fonctionnalités à un autre flux de sortie, c'est-à-dire, la capacité d'imprimer des représentations de diverses valeurs de données fonctionnelles.
PrintWriter La classe PrintWriter imprime des représentations formatées d'objets vers un flux de sortie textuel.
PushbackInputStream La classe PushbackInputStream ajoute des fonctionnalités à un autre flux d'entrée, c'est-à-dire, la capacité de repousser ou de ne pas lire un octet.
PushbackReader La classe PushbackReader représente une lecture d'un flux de caractères qui autorise les caractères à être repoussés dans un flux.
RandomAccessFile Les instances de la classe RandomAccessFile supportent la lecture et l'écriture vers un fichier à accès aléatoire.
Reader La classe abstraite Reader est utilisée pour la lecture des flux de caractères.
SequenceInputStream La classe SequenceInputStream représente la concaténation logique d'autres flux d'entrée.
SerializablePermission La classe SerializablePermission sert pour les permissions d'objet Serializable.
StreamTokenizer La classe StreamTokenizer prend un flux d'entrée et l'analyse en jeton (token), autorisant les jetons à être lus un par un.
StringBufferInputStream Dépréciée. La classe StringBufferInputStream ne convertit pas correctement les caractères en octets.
StringReader La classe StringReader représente un flux de caractères dont la source est un objet String.
StringWriter La classe StringWriter représente un flux de caractères qui collecte son entrée dans un objet StringBuffer qui peut alors être utilisé pour construire un objet String.
Writer La classe abstraite Writer sert pour la lecture de flux de caractères.

Le exceptions
CharConversionException Une classe de base pour les exceptions dûes à une conversion de caractère.
EOFException signale que la fin du fichier ou d'un flux a été atteinte d'une façon inattendue durant l'entrée.
FileNotFoundException signale qu'une tentative d'ouvrir le fichier dénoté par un chemin spécifié n'a pas réussi.
InterruptedIOException signale qu'une opération d'entrée/sortie a été interrrompue.
InvalidClassException est lancée lorsque l'exécution de l'objet Serialization détecte un des problèmes suivants avec une classe.
InvalidObjectException indique qu'un ou plusieurs objets désérialisés n'ont pas réussi les tests de validation.
IOException signale qu'une exception d'entrée/sortie s'est produite.
NotActiveException est lancée lorsqu'un sérialisation ou une désérialisation n'est pas active.
NotSerializableException est lancé lorsqu'une instance est requise de posséder une interface Serializable.
ObjectStreamException constitue la superclasse de toutes les exceptions spécifique aux classes de flux d'objets.
OptionalDataException indique l'échec de l'opération de lecture d'un objet dû à une donnée primitive illisible ou la fin de données appartenant à un objet sérialisé dans le flux.
StreamCorruptedException est lancée lorsque l'information de contrôle qui était lue à partir d'un flux d'objet a violé la vérification logique interne.
SyncFailedException signale qu'une opération de synchronisation a échoué.
UnsupportedEncodingException signale que l'encodage de caractères n'est pas supporté.
UTFDataFormatException signale qu'une chaîne de caractères UTF-8 malformée a été lue dans une flux d'entrée de données ou paar n'importe quelle classe qui implémente l'interface d'entrée de données.
WriteAbortedException signale qu'un des objets ObjectStreamExceptions était lancé durant une opération d'écriture.
Sommaire