Le nouveau paquetage java.nio (New-Input/Output), disponible depuis la version 1.4 du JDK (Java Development Kit), fournit des outils plus performants par rapport au paquetage java.io viellissant. L'amélioration des performances des opérations d'entrée/sortie est désormais réalisable sans avoir à écrire du code natif spécifique.

Le paquetage NIO gère les données en bloc, contrairement à IO qui les traite par flux. Chaque opération produit ou consomme un bloc de données en une étape, là ou IO utilise un flux d'entrée pour la production d'un octet et un flux de sortie pour la consommation d'un octet. Le traitement de données par bloc est souvent plus rapide qu'un traitement par flux d'octets. Mais, NIO manque de simplicité par rapport à IO qui est assez souple pour la création et la combinaison des flux.

Par ailleurs, de nouvelles fonctionnalités apparaissent avec ce paquetage. En effet, il devient notamment possible de poser des verrous sur les fichiers en cours de traitement par une application.

import java.nio.*;

Le paquetage NIO se décompose en trois types de classes :

  • les canaux et sélecteurs (channels et selectors),
  • les tampons (buffers),
  • les outils d'encodage et de décodage de caractères (charset),
Sommaire