[java] doubler un inputStream

Bonjour,

je voulais savoir comment, à partir d'un inputstream, en obtenir deux identiques. Bref, le doubler.

Merci !

6 réponses

  1. ca veut dire tout simplement que la methode clone a ete definie comme protected dans la classe object, donc les classes heritieres et du meme package peuvent l'appeler directement mais pas les autres,
    donc pour resumer si tu veux l'utiliser il faudra que tu etendes la classe InputStream et que tu declares clone() public dansla nouvelle classe ensuite tu peux l'utiliser...

    class NInputStream extends java.io.InputStream {

    public Object clone() {

    return super.clone();
    }
    }
    0
    1. InputStream extends Object donc normalement c possible d'utiliser directement une méthode protected, non ?
      0
  2. j'ai essayé clone,
    j'ai une erreur clone() has protected access in java.lang.Object

    je sais pas trop ce que ça veut dire ...
    0
    1. Si tu reponds à mon message, je repondrais au tien !!
      0
      1. je viens de trouver une solution à ton problème :

        tu fais :

        InputStream in2 = in1.clone();
        0
    2. Je veux dire qu'écrire InputStream in2 = in1; ne fonctionne pas.

      in2 reste vide.

      Mais sinon tu as bien compris ce que je voulais faire. Je voulais avoir deux inputStream contenant la meme chose.

      Merci quand meme
      0
      1. Non, apparemment on ne peut pas affecter comme ça un inputStream.

        Mais merci quand même.
        1
        1. je ne comprends pas très bien.
          Que veux tu dire quand tu dis "on ne peut plus affecter comme ca un inputstream" ???

          Que veux-tu faire exactement ?
          0
      2. Si j'ai bien compris ce que tu veux faire, c'est tout simple :
        Par exemple :

        InputStream in1 = new InputStream(monFichier);
        InputStream in2 = new InputStream(monFichier);


        --------
        ou alors si tu as déjà in1 qui est un InputStream, tu fais :
        InputStream in2 = in1;

        Est-ce que ca resoud ton problème ?
        0