Maison  >  Article  >  Java  >  Demandez à l'expert - E/S

Demandez à l'expert - E/S

Linda Hamilton
Linda Hamiltonoriginal
2024-11-13 12:03:02155parcourir

Pergunte ao especialista - I/O

J'ai entendu parler d'un autre package d'E/S appelé NIO. Pouvez-vous m'en parler ?

Initialement appelé New I/O, le package NIO a été ajouté à Java par le JDK 1.4. Il prend en charge l'approche des opérations d'E/S basées sur les canaux. Les classes NIO se trouvent dans le package java.nio et ses packages subordonnés, tels que java.nio.channels et java.nio.charset.
NIO est basé sur deux éléments de base : les tampons et les canaux. Le tampon stocke les données, le canal représente une connexion ouverte à un périphérique d'E/S tel qu'un fichier ou un socket. En général, pour utiliser le nouveau système d'E/S, nous devons obtenir un canal avec un périphérique d'E/S et un tampon pour stocker les données. Ensuite, nous opérons avec le tampon, en insérant ou en affichant des données si nécessaire.
Deux autres entités utilisées par NIO sont les jeux de caractères et
sélecteurs. Un jeu de caractères définit la manière dont les octets sont mappés aux caractères. On peut coder une séquence de caractères sous forme d'octets à l'aide d'un encodeur. Et nous pouvons décoder une séquence d’octets sous forme de caractères à l’aide d’un décodeur. Un sélecteur prend en charge les E/S basées sur des clés, non bloquantes et multiplexées. En d'autres termes, les sélecteurs nous permettent d'effectuer des E/S sur plusieurs canaux. Ils sont plus applicables aux canaux basés sur des sockets.
Depuis le JDK 7, NIO a subi de profondes améliorations, comme le terme NIO. 2 est souvent utilisé. Les améliorations comprenaient trois nouveaux packages (java.nio.file, java.nio.file.attribute et java.nio.file.spi) ; plusieurs nouvelles classes, interfaces et méthodes ; et prise en charge directe des E/S basées sur les flux. Les ajouts ont élargi les façons dont NIO peut être utilisé, en particulier avec les fichiers.
Il est important de comprendre que NIO ne remplace pas les classes d'E/S trouvées dans java.io, qui sont abordées dans ce chapitre. Au lieu de cela, les classes NIO sont conçues pour compléter le système d'E/S standard, offrant une approche alternative, qui peut être bénéfique dans certaines circonstances.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn