CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 4eyes81 con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: elmegio con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 43 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 4 su 4
Discussione:

applicazione e classe - Lettura file

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jan 2011
    Messaggi
    22

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    applicazione e classe - Lettura file

    Dunque, dopo tante ricerche ho trovato una funzione lettura di un file testo.txt presente nella cartella asset del progetto.
    Se la funzione di lettura si trova nel file.java di orgine (quella che ti offre eclipse quando apri un progetto android) tutto funziona.
    Se la funzione di lettura di trova come metodo in un file di una nuova classe che ho creato io (classe.java ) stessa funzione di lettura non va.. non trova il file di testo.txt nella cartella asset...devo impostare qualcosa nel file della classe.java che mi son dimenticato? (Ho definito la mia classe come
    public class Classe extends Activity {})

    Nella classe principale (subito questa sotto) funziona.
    codice:
    public class Program extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            
            readOggetto();
            
        }
    allego codice della funzione di lettura:
    codice:
        /**READ!!!!!*/
        
        void readOggetto(){
        	
            
            try {
                InputStream is = getAssets().open("db.txt");
    
                int size = is.available();
    
                // Read the entire asset into a local byte buffer.
                byte[] buffer = new byte[size];
                is.read(buffer);
                is.close();
    
                // Convert the buffer into a string.
                String text = new String(buffer);
                
                
            } catch (IOException e) {
                // Should never happen!
                throw new RuntimeException(e);
            }
    
        	
        }

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Feb 2011
    Messaggi
    2

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Unhappy

    Non credo che la funzione sia corretta.
    is.available() restituisce il numero di byte che si possono leggere senza bloccare il dispositivo, ma non il numero di byte totali del file. Questo significa che per file di dimensioni generose, la funzione leggera solo la prima parte.

  4. #3
    Baby Droid


    Registrato dal
    Jan 2011
    Messaggi
    22

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Conta che per il momento il file di testo che apre ha banalmente questo testo:
    "
    Primo
    Secondo
    Terzo
    "

  5. #4
    Baby Droid


    Registrato dal
    Feb 2011
    Messaggi
    2

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da AnderAndroid Visualizza il messaggio
    Conta che per il momento il file di testo che apre ha banalmente questo testo:
    "
    Primo
    Secondo
    Terzo
    "
    Appunto. Se dovesse servirti un esempio di come fare la lettura per file di grandi dimensioni lo puoi trovare tra gli esempi dell'SDK, e precisamente nel progetto "SearchableDictionary". Li viene usato un Thread per leggere tutto il file.
    Buon lav

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy