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