Originariamente inviato da LeleFT
Cerchiamo di fare chiarezza, anche se argomenti di questo tipo, per una persona che programma in Java da qualche mesetto sono un po' ostici e, direi, troppo complessi.
System.in è un InputStream collegato direttamente allo standard-in del programma (generalmente la tastiera, ma non è detto).
Scanner è una classe che permette di trattare in maniera "leggermente più ad alto livello" uno stream di byte: fornisce una serie di metodi per poter ottenere dati di tipo diverso a partire da stringhe.
La parte di codice che hai postato (che io mai e poi mai metterei dentro ad un costruttore), non fa altro che creare un file di dati binario (dati serializzati... e anche qui si aprirebbe un mondo) dove tu vai a serializzare le stringhe che digiti da tasitera.
Se di ciò che ho detto finora hai capito tutto nel dettaglio, procediamo con le domande.
Al di là dell'utilità di ciò che stai cercando di fare, che ancora mi sfugge, cos'è che vorresti ottenere? Parli genericamente di "flussi di oggetti"... che vuoi dire? Un flusso di oggetti (un Object-Stream) presuppone che vi sia una sorgente di questi oggetti (un file, una socket, un database, una risorsa, ecc) che permette di "leggere" gli oggetti attraverso un InputStream per poi deserializzarli e/o ri-serializzarli da qualche altra parte... di quali oggetti stiamo parlando? Da dove dovrebbero essere letti (visto che non vuoi leggerli da System.in e che comunque più che stringhe non potresti leggere da lì)? Cosa ne vuoi fare? Ovviamente, dovrai buttare via anche la classe Scanner, visto che non sarebbe più adatta allo scopo...
Proviamo a delineare questi aspetti, al momento... il multithreading lasciamolo stare che, al momento, è solo una parola senza alcun significato.
Ciao.