Partage
  • Partager sur Facebook
  • Partager sur Twitter

Difficulté à comprendre io nio et nio II

Sujet résolu
    7 novembre 2019 à 17:59:13

    Bonjour,

    Je suie le cours sur le Java et j'ai vraiment du mal à comprendre.

    oos = new ObjectOutputStream(
                  new BufferedOutputStream(
                    new FileOutputStream(
                      new File("game.txt"))));
          oos.writeObject(new Game("Assassin Creed", "Aventure", 45.69));
    Path path = Paths.get("object.txt");
    OutputStream output = Files.newOutputStream(path);
    oos = new ObjectOutputStream(new BufferedOutputStream(output));
    oos.writeObject(new Game("Assassin Creed", "Aventure", 45.69));
    oos.close();


    Quelle est la différence, les deux marche ?

    Path source = Paths.get("test.txt");
    //Ouverture en lecture :
    try ( InputStream input = Files.newInputStream(source) ) { … }
    
    //Ouverture en écriture :
    try ( OutputStream output = Files.newOutputStream(source) )  { … }
    
    //Ouverture d'un Reader en lecture :
    try ( BufferedReader reader = Files.newBufferedReader(source, StandardCharsets.UTF_8) )  { … }
    
    //Ouverture d'un Writer en écriture :
    try ( BufferedWriter writer = Files.newBufferedWriter(source, StandardCharsets.UTF_8) )  { … }

    Quelle est la différence entre un Reader en lecteur et un flux en lecture, les deux permettent de lire un fichier ?


    -
    Edité par bbsebb 7 novembre 2019 à 17:59:54

    • Partager sur Facebook
    • Partager sur Twitter

    << On n'apprend bien qu'à force de se tromper. >>

      8 novembre 2019 à 11:31:29

      La librairie standard Java propose de nouvelles fonctionnalités pour accéder aux fichiers avec nio, mais c'est seulement pour le confort d'utilisation et l'amélioration de quelques cas. Tu peux tout faire avec io mais il vaut mieux apprendre à se servir de nio : c'est l'avenir.

      bbsebb a écrit:

      Quelle est la différence entre un Reader en lecteur et un flux en lecture, les deux permettent de lire un fichier ?

      Le Reader et le Writer lisent et écrivent des caractères, tandis que les flux lisent et écrivent des octets (donc en binaire).

      La seule différence est donc que les Reader et Writer doivent choisir un jeu de caractères, par exemple UTF-8, qui permet de transcrire les octets en caractères et inversement.

      • Partager sur Facebook
      • Partager sur Twitter
        8 novembre 2019 à 21:57:10

        Merci
        • Partager sur Facebook
        • Partager sur Twitter

        << On n'apprend bien qu'à force de se tromper. >>

        Difficulté à comprendre io nio et nio II

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown