Besoins d'explications sur les classes de base et de son utilisation
	
	
		Bonjour tout le monde,
Dans l'exemple ci-dessous de Jeam-Michel Doudoux (Développons en Java), je n'ai pas encore le déclic sur cette façon d'instancier (voir ligne du BufferedReader) et le choix des classes et méthodes pour arrriver à afficher le contenu, j'explique plus bas mon raisonnement:
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 
 |  
import java.io.BufferedReader;
import java.io.InputStreamReader;
 
public class TestRuntime2 
{
  public static void main(String[] args) 
  {
    try 
      {
        Runtime runtime = Runtime.getRuntime();
        Process proc = runtime.exec("cmd.exe /c set");
        BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
        String str;
        while ((str = in.readLine()) != null) 
          {
            System.out.println(str);
          }
        in.close();
        proc.waitFor();
      } 
  catch (Exception e) 
    {
      e.printStackTrace();
    }
  }
} | 
 Ma façon de comprendre/de faire est la suivante: 
1 - La méthode getInputStream va retourner une classe au nom de InputStream.
2 - Avec Cette classe InputStream, je ne peux pas encore afficher le contenu (résultat) sur mon écran.
3 - Comme je ne connais pas toutes les classes et méthodes de Java, je fais une recherche grâce à l'outil http://javasearch.developpez.com
4 - Je clic sur 6.0, j'encode InputSream dans la zone d'encodage, je clic sur classes et j'appuie sur OK
5 - J'obtiens une liste de 34 classes correspondant à ma recherche
6 - Je me focalise sur le package java.io du fait que je veux voir le résultat (entrée, sortie) cela me semble logique
7 - Il me reste les classses suivantes: 
	Citation:
	
		
		
			BufferedInputStream ; ByteArrayInputStream; DataInputStream ; FileInputStream ; FilterInputStream ; InputStream ; InputStreamReader ; LineNumberInputStream ; ObjectInputStream ; ObjectInputStream.GetField ; PipedInputStream ; PushbackInputStream ; SequenceInputStream ; StringBufferInputStream
			
		
	
 8 - A ce moment, je commence à me perdre qu'elle est la classe que je dois choisir !!!
9 - Bon ok je prends InputStreamReader parce qu'il est noté Reader mais je ne suis pas convaincu, je trouve cela trop façile/léger (pq pas la classe ObjectInputSream ou autres) ?
10 - InputStreamReader m'offre quelques méthodes basées sur la lecture de caractère pas très pratique.
11 - Je remarque que la classe InputStreamReader hérite de la classe java.io.Reader
12 - Je vois que la classe InputStreamReader hérite de la classe java.io.Reader
13 - Je vois que cette classe java.io.Reader à des sous classes, je prends la sous classe BufferedReader car celle-ci contient une méthode qui me permet d'afficher ma ligne de texte.
Je ne sais pas si ma façon de faire est bonne, je n'ai pas l'impression, qu'en pensez-vous ?
Dois-je connaitre toutes les classes et méthodes de java ?
Dois-je utiliser une autre approche pour élaborer mon code/programme ?
Dois-je chercher des exemples sur Google pour avoir un bout de code pour savoir comment afficher du texte à partir d'une classe précise ?
Est-qu'il existe un diagramme des classes de base de Java afin d'avoir une meilleur visualisation (relation entre elle ainsi que les méthodes) ?
Bref, je suis un peu perdu (noyé par tous les choix: classes et méthodes) !
En outre, n'y-a-t'il moyen d'instancier différement (voir ci-dessous), car étant débutant, je trouve cela hard (pas très lisible) 
	Code:
	
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
 
Pouvez-vous m'aider ?
Merci d'avance,
Yves