Wie liest man UTF-8-kodierte Daten aus einer Datei - Java?

Lesen von UTF-8-codierten Daten aus einer Datei - Java

Eine Textdatei mit UTF-8-codierten Daten

utf8 encoded file

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

Hier ist das Beispiel, um zu demonstrieren, wie "UTF-8" -codierte Daten aus einer Datei in Java gelesen werden

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());
        }
    }
}

Ergebnis

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

Machen Sie sich keine Sorgen um das Symbol "???", da meine Ausgabekonsole die UTF-8-Daten nicht unterstützt. Die Variable "str" ​​speichert genau die gleichen "UTF-8" -codierten Daten wie in der Textdatei.