Utiliser le UTF-8 avec le BufferedInputStream en java

Signaler
-
Bonjour,
je veux lire un texte en arabe depuis un fichier texte .txt , j'utilise le BufferedInputStream mais le probleme que la sortie me donne des erreures malgre qe j'ai utilise le UTF-8
voila le code :
package bufferdinputstream;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class BufferdInputStream {

    public static void main(String[] args)  {
        String source="C:\\Users\\Hamri Kada\\Desktop\\folder\\fichier1.txt";
        try{
        BufferedInputStream bis =new BufferedInputStream(new FileInputStream(source));
        int data;
        byte [] buf=new byte[80];
        while((data=bis.read(buf))>=0){
                String s=new String(buf,"UTF8");
                System.out.println(s);
        }
        }catch(IOException e){
            e.printStackTrace();
        }


le fichier texte " fichier1.txt " :

علم الانسان ما لم يعلم علم الانسان ما لم يعلم علم الانسان ما لم يعلم
علم الانسان ما لم يعلم علم الانسان ما لم يعلم علم الانسان ما لم يعلم
علم الانسان ما لم يعلم علم الانسان ما لم يعلم


la sortie :

علم الانسان ما لم يعلم علم الانسان ما لم ي�
�لم علم الانسان ما لم يعلم
علم الانسان ما ل
م يعلم علم الانسان ما لم يعلم علم الانسان م�
� لم يعلم
علم الانسان ما لم يعلم علم الانسا
ن ما لم يعلم م الانسان ما لم يعلم علم الانسا