Autore Topic: Lettura file di testo da cartella data  (Letto 1459 volte)

Offline ransie

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
Lettura file di testo da cartella data
« il: 07 Settembre 2012, 20:42:23 CEST »
0
Ho un codice che ho testato su java ma non riesco a far funzionare su Android:

Ho un file path :
Codice (Java): [Seleziona]
public final static String FILE_PATH ="/data/data/package/files/file.txt";
Ho trovato il file path in Eclipse nella finestra file explorer e creato la cartella files nel package e inserito il file.txt.

Adesso ho creato questo metodo per leggere il file:





   
Codice (Java): [Seleziona]
public  ArrayList leggiTesto() {
               
                BufferedReader in= null;
       
                try {
                       
                        in = new BufferedReader(new InputStreamReader(new FileInputStream(FILE_PATH)));
                        String line="";
                        line = in.readLine();

                        while (line!=null){
                                pian = new ArrayList();
                                while (!line.equals("#####")){
                                        String[] arr = line.split("\n");
                                        //System.out.println(code);
                                        for (int i = 0; i < arr.length; i++) {
                                                pian.add(i, arr[i]);
                                        }
                                        line = in.readLine();
                                }
                                allp.add(pian);
                                line = in.readLine();
                        }
                       

 }

                } catch (IOException e) {
                        e.printStackTrace();
                }
                return allp;
        }

Ma nulla di nulla non mi da nessun risultato.
Dove sbaglio?
Sono due giorni che sto impazzendo. :'(
« Ultima modifica: 07 Settembre 2012, 20:50:22 CEST da ransie »

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
Re:Lettura file di testo da cartella data
« Risposta #1 il: 07 Settembre 2012, 23:18:36 CEST »
0
Alla fine ti ritorna un arraylist di arraylist di stringhe  ?

Offline ransie

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
Re:Lettura file di testo da cartella data
« Risposta #2 il: 08 Settembre 2012, 00:44:56 CEST »
0
Citazione
Alla fine ti ritorna un arraylist di arraylist di stringhe  ?

Si ed è proprio ciò che mi serve. Il problema è che non legge il file.
Provato come applicazione java non mi da nessun problema, il problema sorge con il codice adattato per Android.
Io in Eclipse in file explorer ho cercato il pat data/data/nomepackage e ho creato all'interno la cartella files e caricato il file.txt.
Forse ho sbagliato questo, o forse in Android devo fare qualcosa in più per leggere il file, non riesco proprio a capire.

Offline supertommino

  • Utente junior
  • **
  • Post: 77
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    supertommino
Re:Lettura file di testo da cartella data
« Risposta #3 il: 08 Settembre 2012, 11:10:11 CEST »
0
Quindi il problema è che non legge il file .txt
Prova questo
android - Reading a simple text file - Stack Overflow
 :-)
 :-)

Offline ransie

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
Re:Lettura file di testo da cartella data
« Risposta #4 il: 08 Settembre 2012, 19:51:01 CEST »
0
Avevo letto quel link ma non riesco comunque e, ho letto che posizionando il file nella cartella assets, questo non è scrivibile o sbaglio?
Ho pochissimi giorni per finire l'app e tra i vari problemi la vedo dura  :-(

Offline ransie

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
Re:Lettura file di testo da cartella data
« Risposta #5 il: 09 Settembre 2012, 20:44:47 CEST »
0
Ho risolto.
Posto il codice, per chi può servire.


Codice (Java): [Seleziona]
public ArrayList leggiTesto() {
                boolean exists = file.exists();
                if (exists){
                       
                       
                        //Il file esiste, posso proseguire nella sua lettura
                       
                        //Comunico nel caso trovo il file
                        Log.d("File ", "File trovato");
                       
                       
                       
                       
                        StringBuffer contents = new StringBuffer();
                        BufferedReader reader = null;
                       
                        try {
                                String line="";
                                in= new BufferedReader(new FileReader(file));
                                line = in.readLine();

                                while (line!=null){
                                        pian = new ArrayList();
                                        while (!line.equals("#####")){
                                                String[] arr = line.split("\n");
                                                //System.out.println(code);
                                                for (int i = 0; i < arr.length; i++) {
                                                        pian.add(i, arr[i]);
                                                }
                                                line = in.readLine();
                                        }
                                        allp.add(pian);
                                        line = in.readLine();

                               
                        }
                                       
                               
                                       
                                } catch (IOException e) {
                                        e.printStackTrace();   
                                }
                       
                       
                }else{
                        //Comunico nel caso non trovo il file
                        Log.d("File", "File non trovato");
                }
                return allp;


}

E creo il nuovo file:
Codice (Java): [Seleziona]
File file = new File("/data/data/package/files/file.txt");