Visualizzazione dei risultati da 1 a 9 su 9

Discussione: BufferedInputStream

  1. #1
    siapri
    Guest

    BufferedInputStream

    Salve a tutti.
    Qualcuno mi sa spiegare come funziona un "BufferedInputStream" e come faccio a leggerlo?
    Ho visto che c'e' un metodo read , me come parametro ha un array di Byte.
    Come funziona?
    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    un BufferedInputStream permette di leggere molti byte per volta
    alloca un array che si riempie dopo la lettura

    se fai
    bis = new BufferedInputStream(inputstream);
    byte[] b = new byte[8];
    bis.read(b, 0, 8);
    b contiene i primi 8 byte del flusso

  3. #3
    siapri
    Guest
    ok,
    ma leggo solo 8 byte dello stream ? e se e' piu' lungo?

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    read(b, off, len);

    b array di byte
    off punto da cui comincia a scrivere i dati
    len numero di byte da leggere

  5. #5
    siapri
    Guest
    perdonami, ma forse mi sono espresso male.
    Se l'input arriva da un file che apro per leggere, posso non sapere quanti byte contiene.
    Se definisco un array di Byte di 8 byte, come faccio a prendere tutti i byte del file che leggo?

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    se non sai quanti dati sono scritti devi leggere un byte per volta

  7. #7
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    oppure leggi quanti byte si possono leggere con
    int i = bis.available()

  8. #8
    puoi anche utilizzare il metodo read(), che legge un byte alla volta, e ciò che legge te lo ritorna come un intero.
    Se ha raggiunto la fine del file, torna un -1



    mandi mandi
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

  9. #9
    siapri
    Guest
    Grazie a tutti.
    Ora ho capito come funziona
    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.