Elegir entre FileReader y InputStreamReader

Tengo dos métodos para leer el archivo de texto en Java uno usando FileReader y otro archivo 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);
}

y Otro es

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

Aunque ambos me dan salida ... Solo quiero saber cuál es la mejor manera de hacerlo.

Respuestas a la pregunta(8)

Su respuesta a la pregunta