Autore Topic: Impossibile leggere un file  (Letto 331 volte)

Offline giupardeb

  • Utente junior
  • **
  • Post: 115
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Glaxy Note 4
Impossibile leggere un file
« il: 09 Marzo 2014, 16:06:58 CET »
0
Buon pomeriggio ragazzi, vado subito al dunque. Ho bisogno di scrivere e leggere un semplice file di testo, attraverso questo codice riesco a scrivere il file di testo:

Codice (Java): [Seleziona]
public void WriteSettings(Context context, String data){

                FileOutputStream fOut = null;

                OutputStreamWriter osw = null;



                try{
                        fOut = openFileOutput("city.txt",MODE_PRIVATE);      

                        osw = new OutputStreamWriter(fOut);

                        osw.write(data);

                        osw.flush();

                        Toast.makeText(context, "City saved",Toast.LENGTH_SHORT).show();

                }

                catch (Exception e) {      

                        e.printStackTrace();

                        Toast.makeText(context, "City not saved",Toast.LENGTH_SHORT).show();

                }

                finally {

                        try {

                                osw.close();

                                fOut.close();

                        } catch (IOException e) {

                                e.printStackTrace();

                        }

                }
        }

alla successiva riapertura dell'applicazione attraverso questo codice controllo se esiste il file che devo gestire:

Codice (Java): [Seleziona]
File file = new File(this.getFilesDir().getPath()+"/city.txt");

if(file.exists()){
                        city = ReadSettings(this);
                        Update();
                }
                else{
                        onCreateAlert();
                        dialog = builder.create();
                        dialog.show();
                }

Ed eventualmente leggo il file attraverso questo codice:

Codice (Java): [Seleziona]
public String ReadSettings(Context context){

                FileInputStream fIn = null;

                InputStreamReader isr = null;



                char[] inputBuffer = new char[255];

                String data = null;



                try{

                        fIn = openFileInput("city.txt");      

                        isr = new InputStreamReader(fIn);

                        isr.read(inputBuffer);

                        data = new String(inputBuffer);

                        Toast.makeText(context, "City read",Toast.LENGTH_SHORT).show();

                }

                catch (Exception e) {      

                        e.printStackTrace();

                        Toast.makeText(context, "City not read",Toast.LENGTH_SHORT).show();

                }

                finally {

                        try {

                                isr.close();

                                fIn.close();

                        } catch (IOException e) {

                                e.printStackTrace();

                        }

                }

                return data;

        }

con questo codice al primo avvio dell'applicazione tutto funziona, ma appena riapro l'applicazione, ecco che essa crasha. non mi dà nessuno errore sul logcat, ma presumo che il problema sia sui permessi di sola lettura attribuiti. Come faccio a risolvere? Grazie mille a tutti voi ;)

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:Impossibile leggere un file
« Risposta #1 il: 09 Marzo 2014, 17:43:26 CET »
0
Se crasha, l'errore è sicuramente sul LogCat, cerca meglio e postalo che vediamo cosa può essere.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline giupardeb

  • Utente junior
  • **
  • Post: 115
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Glaxy Note 4
Re:Impossibile leggere un file
« Risposta #2 il: 09 Marzo 2014, 17:56:59 CET »
0
Grazie per avermi risposto, ma ho appena risolto usando un metodo diverso, descritto qui [facile] Semplice esempio di Shared Preferences - Android Developers Italia è molto utile, per chi come me ha bisogno semplicemente di conservare solo una stringa.