Choisir entre FileReader et InputStreamReader

J'ai deux méthodes pour lire le Fichier Texte En java à l'aide d'un FileReader et d'Autres Fichiers InputStream

FileReader fr=new FileReader("C:\\testq\\test.txt");
BufferedReader br=new BufferedReader(fr);
String s;
while((s=br.readLine())!=null){
    System.out.println("value are "+s);
}

et d'Autres est

FileInputStream fstream = new FileInputStream("C:\\testnew\\out.text");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null){
   System.out.println (strLine);
}

Si les deux me donner de sortie ...je veux juste savoir qui est le meilleur moyen de le faire.

source d'informationauteur Basimalla Sebastin