Forse sono riuscito a risolvere il problema, ho fatto cosi:
Praticamente avendo aggiungo la out.reset(); e' come se creassi un nuovo ObjectOutputStream ogni volta giusto? In questo modo il Garbage Collector quando partira' vedra' tutti questi oggetti non riferiti e li toglie.codice:File file = new File(percorsoFile); FileInputStream fis = new FileInputStream(file); byte[] dati = new byte[DIMENSIONE]; int quanti; while((quanti = fis.read (dati)) > 0) { out.writeObject (new MessaggioDati( dati, quanti) ); dati = new byte[DIMENSIONE]; out.reset(); } in.close(); out.close();
Ho provato a trasferire il file da 320 MB ( usando 2 pc ) e tutto e' andato a buon fine, sara' stato un caso... ?