KnowledgeCity

Java Avancé : E/S

Dans ces leçons, vous verrez comment lire et écrire vers et depuis le système de fichiers.

Dans ces leçons, vous verrez comment lire et écrire vers et depuis le système de fichiers. L'API de fichier héritée est utilisée dans de nombreux projets, frameworks et bibliothèques plus anciens. Malgré son ancienneté, l'API patrimoniale n'est pas dépréciée et vous pouvez toujours l'utiliser avec les dernières versions de Java.

Vous apprendrez comment java.nio.file.Path fait tout ce que java.io.File peut faire, et généralement d'une meilleure manière, avec les nouvelles classes capables de prendre en charge les liens symboliques, les attributs de fichier appropriés, les métadonnées, les ACL et plus encore. Lorsque vous travaillez avec des fichiers ou des chemins, vous utiliserez probablement la classe java.nio.file.Files, et nous couvrirons de nombreuses fonctions courantes qui fonctionnent sur des fichiers et des répertoires. L'entrée et la sortie englobent un large éventail de sources et nous devons naturellement traiter le contenu des fichiers de caractères et d'octets. La bibliothèque NIO regorge de tout ce dont nous avons besoin pour accomplir toutes les exigences d'E/S auxquelles nous pouvons être confrontés.

Objectifs de la formation:

  • Décrire la nouvelle bibliothèque NIO
  • Comprendre comment lire et écrire dans le système de fichiers
  • Expliquer comment créer des fichiers temporaires

Auteur: Scott Stanlick

Durée: 9m · 3 leçons
Niveau: Advanced
Langue: Français

Compétences acquises

Fichier E/SProcesseur E/SJava 11Java Advanced ImagingAPI JavaNon-Blocking I/O (Java)

Ce que vous allez apprendre

  • Décrire la bibliothèque Java NIO et ses capacités de gestion de fichiers
  • Lire et écrire sur le système de fichiers à l'aide des E/S (I/O) Java
  • Utiliser java.nio.file.Path à la place de l'API héritée java.io.File
  • Travailler avec la classe java.nio.file.Files pour les opérations courantes sur les fichiers et les répertoires
  • Gérer les métadonnées de fichiers, les attributs, les ACL et les liens symboliques (symlinks)
  • Créer des fichiers temporaires à l'aide de la bibliothèque NIO

Points clés à retenir

  • L'ancienne API java.io.File n'est pas obsolète et fonctionne toujours avec les dernières versions de Java.
  • java.nio.file.Path fait tout ce que java.io.File peut faire et le fait généralement mieux, en prenant en charge les liens symboliques, les attributs de fichiers, les métadonnées et les listes de contrôle d'accès (ACL).
  • La classe java.nio.file.Files fournit de nombreuses fonctions communes qui opèrent sur les fichiers et les répertoires.
  • Les entrées et sorties (Input and output) couvrent un large éventail de sources, nécessitant le traitement du contenu des fichiers en caractères et en octets (bytes).
  • Le cours couvre la lecture, l'écriture et le travail avec les métadonnées de fichiers.

Foire aux questions

Que couvre ce cours ?

Il explique comment lire et écrire dans le système de fichiers en Java, en incluant la bibliothèque NIO, les classes java.nio.file.Path et java.nio.file.Files, les métadonnées de fichiers et la création de fichiers temporaires. Les leçons incluent la Lecture, l'Écriture et les Métadonnées de Fichiers.

Ce cours enseigne-t-il l'ancienne API de fichiers ou la nouvelle bibliothèque NIO ?

Les deux. Il explique l'API de fichiers héritée, qui est toujours utilisable et n'est pas obsolète, tout en montrant comment java.nio.file.Path et la bibliothèque NIO font généralement le même travail en mieux, avec la prise en charge des liens symboliques, des attributs de fichiers, des métadonnées et des listes de contrôle d'accès (ACL).

Quelles compétences vais-je acquérir grâce à ce cours ?

Vous acquerrez des compétences en E/S de Fichiers (File I/O), Traitement des E/S, Java 11, Java Advanced Imaging, les API Java, et les E/S non bloquantes en Java (Non-Blocking I/O in Java).

Quels sont les objectifs d'apprentissage ?

Les objectifs sont de décrire la nouvelle bibliothèque NIO, de comprendre comment lire et écrire dans le système de fichiers, et d'expliquer comment créer des fichiers temporaires.

Transcription

Transcription

Salut, et bienvenue à nouveau. Scott Stanlick ici. Dans ces leçons, nous allons jeter un œil à l'entrée/sortie du fichier. Et nous verrons comment lire les fichiers, écrire des fichiers, obtenir des métadonnées sur les fichiers. Donc je veux commencer mon juste dire qu'en Java, vous avez la capacité de lecture et d'écriture de flux d'octets, qui sont des caractères huit bits ou des flux de caractères, qui sont des caractères Unicode 16 bits, et il y a un pont intégré pour faire la transition entre les flux d'octets et des flux de caractères ou des flux de caractères en flux d'octets. Et il y a beaucoup, beaucoup de façons différentes dans lequel vous pouvez lire le contenu. Mais pour les flux d'impression de données, les canalisations, les canaux, tableaux d'octets, tampons de chaînes, flux d'entrée d'objets, la liste est longue. Il y a probablement à peu près tout ce qui est possible que vous auriez besoin de faire en ce qui concerne la lecture ou l'écriture de fichiers, I/O. Donc, la première chose que nous allons regarder lit un petit fichier à l'aide de cette nouvelle bibliothèque d'E/S, et nous avons un fichier, il s'agit en fait d'un fichier Java que nous allons lire. Nous allons utiliser la classe Files, la méthode readAllLines, lui passer le chemin et donnez-lui le jeu de caractères, qui est UTF-8. Donc, si nous exécutons ce premier test, Je reçois un flux et je vais dire pour chaque ligne dans le flux ou pour chaque élément du flux, imprimez le. Donc, nous pouvons voir ici, bien sûr, qui ressemble au fichier, FileReadWriteFun, donc voilà le fichier que nous sommes en train de lire. La suivante nous montre une technique que nous pouvons utiliser pour ne pas lire toutes les lignes dans et parce que si vous aviez un fichier monstre, comme un fichier énorme, très volumineux, vous n'avez peut-être pas assez de mémoire pour lire toutes les lignes. Il y a donc un autre comportement sur la classe Files appelées lignes qui feront exactement cela. Vous diffusez et pendant que vous lisez les lignes ici, seuls des bits du fichier sont chargés en mémoire à la fois. C'est donc beaucoup plus économe en mémoire. Vous accomplissez la même chose que nous verrons ici. Je vais quand même lire tout le dossier. Mais tu l'as lu en morceaux au lieu de lire le fichier entier en mémoire. Donc même sortie, même contenu, même résultat plutôt. C'est juste un moyen beaucoup plus économe en mémoire de lire des morceaux d'un fichier dans par opposition à l'ensemble. Et la dernière lecture que nous allons regarder est un flux d'entrée de données où nous avons le contrôle sur chaque octet que nous lisons dans au lieu de lire des lignes ou toutes les lignes. Eh bien, l'approche qui est utilisée ici est-ce que nous allons savoir combien d'octets sont disponibles sur le lecteur en fonction de ce chemin. Et nous allons créer un tableau d'octets ici et lire tous les octets dans ce tableau d'octets. Et puis imprimez le contenu du tableau d'octets sous forme de chaîne. Alors voyons. Cela devrait donner le même résultat. C'est sûr. J'apprécie donc que vous regardiez. Merci beaucoup.

Apprendre en déplacement

Apprenez partout — l'application KnowledgeCity vous permet de suivre les leçons en déplacement.