Bonjour,
Ma question est la suivante:
Il est connu que dans les fichiers texte sous windows les caractères sont codés sur un octet alors qu'ils sont codés sur deux octets en java.
Donc pour lire un fichier texte en java, on utilise la méthode de lecture read() qui permet de lire un octet.
Ensuite, on convertit l'octet lu en donnée de type char,
Comme on peut voir dans les lignes de code ci-dessous
Les méthodes lireString et ecrireString sont des méthodes crées pour lire et écrire une chaîne d ecaractères.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 import java.io.*; public class LireFichier{ String nomfichier; FileInputStream fichier; int c; Terminal.ecrireString("Entrez le nom du fichier à afficher"); nomfichier = Terminal.lireString(); try{ fichier = new FileInputStream(nomFichier); c=fichier.read(); while(c!=-1){ Terminal.ecrireChar((char)c); c=fichier.read(); }
Pouvez vous me dire pourquoi la variable c doit être de type int?
La lecture d'un octet revient-elle à lire un chiffre?
Par ailleurs, quand on appelle la méthode read() , cela permet il vraiment de lire le premier caractère de la ligne suivante ce qui signifie qu'à chaque fois qu'on l'appelle on change de ligne?
Merci beaucoup de votre aide.
Cordialement.
Nathalie
Partager