ciao !!
allora ho un problema con questa classe FileInputStream.
in pratica vorrei aprire uno stream e leggere con un ciclo il contenuto byte per byte, questo procedimento però per file molto grandi è abbastanza lento, vorrei velocizzare la cosa usando read(byte[] b)
questo è il ciclo attuale con read (byte)
io vorrei fare una cosa del generecodice:InputStream dIn = new FileInputStream(fileName); int ch; while ((ch = dIn.read()) >= 0) { sig.update((byte)ch); }
il problema si verifica nel caso in cui "b" dopo la lettura non è riempito in tutti i 500 componenti , immaginiamo un ultima lettura di 400 byte ....codice:InputStream dIn = new FileInputStream(fileName); int ch; byte b[]=new byte[500]; while ((ch = dIn.read(b)) >= 0) { sig.update((byte[])b); }
quando viene invocato il metodo update, dovrei ridimensionare l'array in base a quanti byte sono stati letti effettivamente, non posso mettere nemmeno un byte in più !!
non vorrei dover usare un array d'appoggio in cui copiare i primi "ch" byte !!

Rispondi quotando
