Autore Topic: Acquisizione dati da file.txt  (Letto 567 volte)

Offline ciccioalex

  • Utente junior
  • **
  • Post: 58
  • Respect: 0
    • Mostra profilo
Acquisizione dati da file.txt
« il: 04 Marzo 2014, 14:50:14 CET »
0
salve,
sto cercando di acquisire testo da un file .txt (posizionato nella cartella principale del progetto). Il problema è che in fase di esecuzione non entra all'interno del try nè lancia una eccezione. A cosa è dovuto?
Ecco il frammento di codice:

BufferedReader br;
try {
   br = new BufferedReader(new FileReader("input.txt"));
}
catch (FileNotFoundException e) {
       e.printStackTrace();
}
grazie :)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Acquisizione dati da file.txt
« Risposta #1 il: 04 Marzo 2014, 15:47:33 CET »
0
Che "letteralmente" salti il codice è impossibile. Deve accadere qualche altra cosa per cui "sembra" che lo salti.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline ciccioalex

  • Utente junior
  • **
  • Post: 58
  • Respect: 0
    • Mostra profilo
Re:Acquisizione dati da file.txt
« Risposta #2 il: 04 Marzo 2014, 15:55:01 CET »
0
Lo so, sembra assurdo.
Eppure non capisco il perchè non considera affatto nè il try nè il catch.
Il metodo richiamato è il seguente:
   public static String[] caricaOption()
   {
      String option[]=new String[5];
      option[0]="d";
      option[1]="d";
      option[2]="d";
      option[3]="d";
      option[4]="d";
      FileReader input = null;
      BufferedReader br = null;
         try {
            input = new FileReader("input.txt");
            br = new BufferedReader(input);
            option[0]="a";
            option[1]="a";
            option[2]="a";
            option[3]="a";
            option[4]="a";
         } catch (Exception e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
         }
         finally{
               try
               {
                  input.close();
                    br.close();
               }
               catch(Exception e)
               {
                  e.printStackTrace();
               }
         }
      return option;
   }

Il file input.txt è presente nella cartella principale del progetto.
Le variabili di option contengono tutte la lettera d (una volta eseguito il programma) e non la a.
Non capisco il perchè di ciò.

iClaude

  • Visitatore
Re:Acquisizione dati da file.txt
« Risposta #3 il: 04 Marzo 2014, 16:22:06 CET »
0
Leggi il logcat per vedere l'eccezione lanciata,  verosimilmente legata al modo in cui apri il file. ..

Offline ciccioalex

  • Utente junior
  • **
  • Post: 58
  • Respect: 0
    • Mostra profilo
Re:Acquisizione dati da file.txt
« Risposta #4 il: 04 Marzo 2014, 16:39:14 CET »
0
non vedo nessuna eccezione legata alla lettura del file.
Eppure su una classe a parte (non legata all'applicazione) funziona perfettamente e legge il file.
Ora che ci penso, il problema puo' essere legato all'android virtual device?
Non riesco proprio a trovare quale sia il problema

iClaude

  • Visitatore
Re:Acquisizione dati da file.txt
« Risposta #5 il: 04 Marzo 2014, 18:22:32 CET »
+1
A me non convince questa riga...
input = new FileReader("input.txt");

Dov'è collocato il file e come lo hai messo lì?
Cmq l'eccezione dovrebbe lanciarla e dovresti trovare dettagli nella finestra LogCat...

Offline ciccioalex

  • Utente junior
  • **
  • Post: 58
  • Respect: 0
    • Mostra profilo
Re:Acquisizione dati da file.txt
« Risposta #6 il: 04 Marzo 2014, 22:01:06 CET »
0
Ho risolto utilizzando l'InputStreamReader  e posizionando il file .txt nella cartella assets.
Grazie per l'aiuto :-)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Acquisizione dati da file.txt
« Risposta #7 il: 05 Marzo 2014, 07:05:28 CET »
0
Per accedere agli assets devi usare le apposite funzioni. Ora sono su cell, ma trovi una enormità di esempi su Google o sul sito ufficiale Android
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store