Je le fait souvent ( pour le clonage generic )

        ByteArrayOutputStream bout = new ByteArrayOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream( bout );
        oos.writeObject(aInput);
        oos.flush();
        ByteArrayInputStream bin = new ByteArrayInputStream(
bout.toByteArray() );
        ObjectInputStream oin = new ObjectInputStream(bin);

Et voila le tout en memoire ...

Dominique




|---------+---------------------------->
|         |           "Samuel          |
|         |           BONNANFANT"      |
|         |           <samuel.bonnanfan|
|         |           [EMAIL PROTECTED]>      |
|         |                            |
|         |           18/12/2002 15:46 |
|         |           Please respond to|
|         |           java             |
|         |                            |
|---------+---------------------------->
  
>-------------------------------------------------------------------------------------------------------------------------------|
  |                                                                                    
                                          |
  |       To:       "Liste Java" <[EMAIL PROTECTED]>                                   
                                          |
  |       cc:       (bcc: Dominique Gallot/BRU/MASTERCARD)                             
                                          |
  |       Subject:  [Input Stream] Comment le créer sans passer par un fichier ?       
                                          |
  
>-------------------------------------------------------------------------------------------------------------------------------|




Bjr la liste,

J'ai un objet (sérialisable et assez simple) que je dois transformer en
InputStream (peu importe quelle implémentation de l'InputStream).
La seule solution que j'ai trouvée pour l'instant est de :
- créer un FileOutputStream sur un fichier temporaire
- créér un ObjectOutputStream à partir du FileOutputStream
- écrire mon objet dans l'ObjectOutputStream
- fermer le FileOutputStream & l'ObjectOutputStream
- créer un FileInputStream référençant le fichier temporaire
- créér un ObjectInputStream à partir du FileInputStream


N'y a-t-il pas plus simple ?


Merci.

Code :
 File f = File.createTempFile("sam", "txt");

 FileOutputStream fos = new FileOutputStream(f);
 ObjectOutputStream out = new ObjectOutputStream (fos);

 out.writeObject(monObjet);

 fos.close();
 out.close();

 FileInputStream fIS = new FileInputStream (f);
 ObjectInputStream ois = new ObjectInputStream(fIS);



Répondre à