Accueil / Articles PiApplications. / La plate-forme Java / Exemples de codes source Java

Lecture et écriture d'un fichier texte encodé.

Il arrive souvent que l'on ait besoin de lire le contenu d'un fichier texte encodé ou d'écrire un contenu texte en respectant un encodage comme UTF-8. Cet encodage permet de traiter les caractères de façon à pouvoir restituer la totalité du jeu considéré.

L'API Java fournit un très grand nombre de classes d'accès aux fichiers ce qui ne facilite pas la mémorisation des procédures de lecture ou d'écriture.

Lecture.

Voici un exemple de code compact qui permet cette opération à partir du moment où l'on détient un descripteur sur le flux à lire (objet dérivé de la classe InputStream).

InputStream ist = ... // Obtention d'un flux en lecture encoé UTF-8
Properties prp = new Properties();
try (BufferedReader brd = new BufferedReader(new InputStreamReader(ist, StandardCharsets.UTF_8)))
{
  prp.load(brd);
}

Nous l'appliquons ici à la lecture d'un fichier de propriétés mais ce code peut facilement être adapté à d'autres cas d'utilisation.

Ecriture.

L'exemple qui suit montre comment créer un fichier texte encodé et assigner une chaîne de caractères (variable s) à son contenu.

try (FileOutputStream fos = new FileOutputStream(sFileName))
{
  try (BufferedWriter bwr = new BufferedWriter(new OutputStreamWriter(fos, StandardCharsets.UTF_8)))
  {
    bwr.append(s);
  }
}

Il s'agit ici en quelque sorte de la procédure duale de la procédure de lecture.

(c) PiApplications 2016