Comment lire des données encodées en UTF-8 à partir d’un fichier - Java

Comment lire des données encodées en UTF-8 à partir d'un fichier - Java

Un fichier texte avec des données encodées en UTF-8

utf8 encoded file

P.S File is created by this article How to write UTF-8 encoded data into a file

Voici l'exemple pour montrer comment lire des données encodées «UTF-8» à partir d'un fichier en Java

package com.example;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

public class test {
    public static void main(String[] args){

    try {
        File fileDir = new File("c:\\temp\\test.txt");

        BufferedReader in = new BufferedReader(
           new InputStreamReader(
                      new FileInputStream(fileDir), "UTF8"));

        String str;

        while ((str = in.readLine()) != null) {
            System.out.println(str);
        }

                in.close();
        }
        catch (UnsupportedEncodingException e)
        {
            System.out.println(e.getMessage());
        }
        catch (IOException e)
        {
            System.out.println(e.getMessage());
        }
        catch (Exception e)
        {
            System.out.println(e.getMessage());
        }
    }
}

Résultat

Website UTF-8
?? UTF-8
??????? UTF-8

Ne vous inquiétez pas du symbole "???", c'est parce que ma console de sortie ne prend pas en charge les données UTF-8. La variable «str» stocke exactement les mêmes données encodées «UTF-8» que celles indiquées dans le fichier texte.