Innanzitutto grazie mille, Lele.
Riguardo la lettura del file "poco alla volta"(a blocchi) che citi nel tuo commento, potresti farmi vedere un attimo come farla? Era proprio quello che volevo fare. Io leggo il file così:
Ovviamente la creazione di un byteArray, quando ho un file grosso, grande quanto il file stesso mi "costa" parecchia memoria.codice:FileInputStream fileIn = new FileInputStream(fileName); long fileLen = (new File(fileName)).length(); int intFileLen = (int)fileLen; byte[] byteArray = new byte[intFileLen]; fileIn.read(byteArray); fileIn.close(); /* invio l'array di byte byteArray, un elemento per volta, utilizzando il socket su cui comunicano client e server, usando un ciclo for*/
Purtroppo, uso gli ObjectInputStream o ObjectOutputSTream, perché nel corso della comunicazione invio oggetti che serializzo e riutilizzo a destinazione e mi sembrano comodi a tale scopo.

Rispondi quotando