Flux d'entrée de fichier Java dans Ubuntu 20.04

Flux D Entree De Fichier Java Dans Ubuntu 20 04



'Dans cet article, nous discuterons de différentes manières de lire des données à partir de fichiers dans un tableau d'octets en utilisant la classe Java Input Stream. Cette classe représente un flux trié d'octets à partir d'un fichier. Plusieurs fonctions de la classe Java Input Stream sont couramment utilisées et seront abordées dans cet article, telles que les méthodes read(), available(), skip() et close(). Ces méthodes sont utilisées pour lire des fichiers de différentes extensions comme les fichiers bin ou txt et peuvent être modifiées pour obtenir des informations à partir de n'importe quel point du fichier. Nous allons implémenter ces méthodes dans l'environnement Ubuntu 20.04 dans cet article.

Il existe de nombreuses autres méthodes de la classe File Input Stream qui sont également très utiles pour obtenir des données à partir d'un fichier. certains d'entre eux sont int read(byte[] b), cette fonction lit les données du flux d'entrée jusqu'à b.length octets de longueur. Le canal de fichier obtient le canal() : l'objet spécifique du canal de fichier connecté au flux d'entrée de fichier est renvoyé à l'aide de celui-ci. Finalize () est utilisé pour garantir que la fonction close () est invoquée lorsqu'il n'y a plus de référence au flux d'entrée du fichier.

Exemple 01 : Lecture d'un seul octet à partir d'un fichier texte à l'aide des méthodes read() et close() de la classe Input Stream

Cet exemple utilise File Input Stream pour lire un seul caractère et imprimer le contenu. Supposons que nous ayons un fichier nommé 'file.txt' avec le contenu ci-dessous :









Supposons que nous ayons un fichier nommé 'file.txt' avec le contenu indiqué ci-dessus. Essayons maintenant de lire et d'imprimer le premier caractère du fichier.







Nous devons d'abord importer java.io. Package File Input Stream afin de construire un flux d'entrée de fichier. Ensuite, nous allons créer un nouvel objet de File Input Stream qui sera lié au fichier spécifié (file.txt) dans la variable 'f'.

Dans cet exemple, nous utiliserons la méthode 'int read()' de la classe Java File Input Stream, qui est utilisée pour lire un seul octet du fichier et l'enregistrer dans la variable 'I'. Ensuite, le 'System.out.print(char(i))' affiche le caractère correspondant à cet octet.



La méthode f.close() ferme le fichier et le flux. Nous obtiendrons la sortie suivante après avoir construit et exécuté le script susmentionné, car nous pouvons voir que seule la lettre initiale du texte 'L' est imprimée.

Exemple 02 : Lecture de tout le contenu d'un fichier texte à l'aide des méthodes read() et close() de la classe Input Stream

Dans cet exemple, nous allons lire et afficher tout le contenu d'un fichier texte ; comme indiqué ci-dessous:

Encore une fois, nous allons importer java.io. Package File Input Stream afin de construire un flux d'entrée de fichier.

Tout d'abord, nous allons lire le premier octet du fichier et afficher le caractère correspondant à l'intérieur de la boucle while. La boucle while s'exécutera jusqu'à ce qu'il n'y ait plus d'octets, c'est-à-dire la fin du texte dans le fichier. La ligne 12 lira l'octet suivant et la boucle continuera jusqu'au dernier octet du fichier.

Après avoir compilé et exécuté le code ci-dessus, nous obtiendrons les résultats suivants. Comme on peut le voir, tout le texte du fichier « Lorep Ipsum » s'affiche dans le terminal.

Exemple 03 : Détermination du nombre d'octets disponibles dans un fichier texte à l'aide de la méthode available() de la classe de flux d'entrée

Dans cet exemple, nous utiliserons la fonction 'available()' du flux d'entrée de fichier pour déterminer le nombre d'octets existants dans le flux d'entrée de fichier.

Tout d'abord, nous avons généré un objet de classe de flux d'entrée de fichier nommé 'a' avec le code suivant. À la ligne 5, nous avons utilisé la méthode « available() » pour déterminer et afficher le nombre total d'octets disponibles dans le fichier. Puis de la ligne 6 à la ligne 8, nous avons utilisé trois fois la fonction « read() ». Maintenant, à la ligne 9, nous avons de nouveau utilisé la méthode « available () » pour vérifier et afficher les octets restants.

Après avoir compilé et exécuté le code, nous pouvons voir que la première ligne de la sortie indique le nombre total d'octets disponibles dans le fichier. La ligne suivante montre le nombre d'octets disponibles à la fin du code, soit 3 octets de moins que les octets disponibles au début. C'est parce que nous avons utilisé la méthode read trois fois dans notre code.

Exemple 04 : Sauter des octets d'un fichier texte pour lire des données à partir d'un point spécifique à l'aide de la méthode skip() de la classe Input Stream

Dans cet exemple, nous utiliserons la méthode 'skip (x)' de File Input Stream, qui est utilisée pour ignorer et ignorer le nombre donné d'octets de données du flux d'entrée.

Dans le code ci-dessous, nous avons d'abord créé un flux d'entrée de fichier et l'avons stocké dans la variable 'a'. Ensuite, nous avons utilisé la méthode « a.skip(5) », qui sautera les 5 premiers octets du fichier. Ensuite, nous avons imprimé les caractères restants du fichier en utilisant la méthode 'read ()' dans une boucle while. Enfin, nous avons fermé le flux d'entrée du fichier par la méthode 'close ()'.

Ci-dessous, la capture d'écran du terminal après compilation et exécution du code. Comme nous pouvons le voir, seul 'Ipsum' est affiché car nous avons sauté les 5 premiers octets en utilisant la méthode 'skip ()'.

Conclusion

Dans cet article, nous avons abordé les utilisations de la classe File Input Stream et ses différentes méthodes ; read(), available(), skip() et close(). Nous avons utilisé ces méthodes pour lire le premier élément d'un fichier en utilisant les méthodes read() et close(). Ensuite, nous lisons l'ensemble du dossier par l'approche itérative et en utilisant les mêmes méthodes. Ensuite, nous avons utilisé la méthode available() pour déterminer le nombre d'octets présents au début et à la fin du fichier. Après cela, nous avons utilisé la méthode skip() pour sauter plusieurs octets avant de lire le fichier, ce qui nous a permis d'obtenir les données spécifiques dont nous avions besoin.