Supponiamo di avere un OutputStream
(e non unoObjectOutputStream
). È possibile inviare un oggetto serializzato usando il metodo di scrittura? Grazie!Serializzare l'oggetto con outputstream
risposta
qui è quello che si fa per serializzare l'oggetto
new ObjectOutputStream(outputStream).writeObject(obj);
se si desidera controllare il byte [] uscita
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(buffer);
oos.writeObject(obj);
oos.close();
byte[] rawData = buffer.toByteArray();
ps. grazie per i commenti qui sotto, modificato come conseguenza
Dovresti aggiungere anche del testo descrittivo in modo che non sia solo una risposta corretta ma anche una buona. –
È necessario 'writeObject()', non 'write()'. E una chiamata a 'flush()' sarebbe utile. –
È necessario utilizzare la classe ObjectOutputStream e i relativi metodi su oggetti *serialize*
. Infatti ObjectOutputStream
è una sottoclasse di java.io.OutputStream
(è una super classe astratta di flussi orientati ai byte). Date un'occhiata a un articolo su Java Serialization API.
EDIT: È possibile utilizzare XMLEncoder
(dal doc: La classe XMLEncoder è un complementare alternativa al l'ObjectOutputStream e può essere usato per generare una rappresentazione testuale di un JavaBean nello stesso modo in cui l'ObjectOutputStream può essere usato per creare rappresentazione binaria di oggetti Serializable)
c'è più di un modo per serializzare un oggetto; non devi usare ObjectOutputStream – Hachi
È possibile utilizzare ObjectOutputStream per "acquisire" i dati degli oggetti in una matrice di byte e inviarli a OutputStream.
String s = "test";
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(s);
byte[] byteArray = baos.toByteArray();
for (byte b : byteArray) {
System.out.print((char) b);
}
Un'altra opzione non generica sarebbe quella di serializzare l'oggetto in una rappresentazione di stringa, ad es. CSV
Questo è banale: si può semplicemente avvolgere il vostro originale OutputStream
in una nuova ObjectOutputStream
, e quindi utilizzare i metodi specializzati di ObjectOutputStream
:
OutputStream myOriginalOutputStream = ...;
ObjectOutputStream oos = new ObjectOutputStream(myOriginalOutputStream);
oos.writeObject(new MyObject());
oos.flush();
oos.close();
Internamente, ObjectOutputStream
chiamerà il metodo delle OutputStream
sottostanti l' write()
.
- 1. wkhtmltopdf outputstream & download - diaglog
- 2. Converti OutputStream in ByteArrayOutputStream
- 3. Java OutputStream Skip (offset)
- 4. Serializzare enumerazioni con Jackson
- 5. Serializzare ExpandoObject con ServiceStack.Text
- 6. Esportare JasperReport in PDF OutputStream?
- 7. Socket: BufferedOutputStream o solo OutputStream?
- 8. jquery ingresso serializzare con array
- 9. Come serializzare java.nio.file.Path con Gson?
- 10. Come esportare pdf a OutputStream con wkhtmltopdf in java
- 11. Come serializzare/non serializzare un oggetto SimpleXML?
- 12. C# Async ApiController Chiusura OutputStream anticipatamente
- 13. Serializzare java.util.Date
- 14. Printing Runtime exec() OutputStream alla console
- 15. Creare Java-Zip-Archive da OutputStream esistente
- 16. Scrittura simultanea su uno standard OutputStream
- 17. come scrivere array su outputStream in Java
- 18. Come scrivere su un OutputStream utilizzando DefaultHttpClient?
- 19. Come scrivere le stringhe su un OutputStream
- 20. Serializzare una funzione python con dipendenze
- 21. serializzare oggetti in json con play.api.libs.json
- 22. Howto serializzare più liste con Jquery
- 23. Serializzare una stringa con Data.Cereal o Data.Binary
- 24. Serializzare interfacce
- 25. In Protobuf-net, è possibile serializzare le classi non decorate?
- 26. Serializzare la mappa groovy con le virgolette con le virgolette
- 27. C# serializzare decimale xml
- 28. Serializzare SENZA xmlns
- 29. Come serializzare un pacchetto?
- 30. Come serializzare l'albero binario
è possibile scrivere qualsiasi dato con un OutputStream. il più semplice è creare un byte [] dell'oggetto – Hachi