Autore Topic: Scritture in un file.  (Letto 919 volte)

Offline Bazinga2089

  • Utente junior
  • **
  • Post: 51
  • Respect: 0
    • Mostra profilo
Scritture in un file.
« il: 05 Maggio 2011, 17:45:35 CEST »
0
Salve a tutti,
ho creato un programma che legge i dati inseriti dall'utente e li salva in un file.

Codice: [Seleziona]
FileOutputStream fos = openFileOutput("misurazioni.txt", MODE_PRIVATE);
DataOutputStream dos = new DataOutputStream(fos);
dos.writeUTF(currentValue + "\r\n" + "PESO");
dos.flush();
dos.close();

Solo che ogni volta che inserisco una nuova misurazione è come se il file non esistesse e mi scrive sempre alla prima riga. Come posso fare a creare un file e fare in modo che il mio programma ci vada a scrivere dentro, però mantenendo i dati che c'erano prima.

PS: salvo una misurazione per riga.

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:Scritture in un file.
« Risposta #1 il: 05 Maggio 2011, 18:09:31 CEST »
0
Solo che ogni volta che inserisco una nuova misurazione è come se il file non esistesse e mi scrive sempre alla prima riga. Come posso fare a creare un file e fare in modo che il mio programma ci vada a scrivere dentro, però mantenendo i dati che c'erano prima.

C'è il MODE_APPEND.  :-)

Consulta la documentazione del metodo openFileOutput()
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline sergio

  • Nuovo arrivato
  • *
  • Post: 26
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Legend
Re:Scritture in un file.
« Risposta #2 il: 07 Luglio 2011, 12:44:45 CEST »
0
mi aggancio per fare una domanda relativa a questo argomento (spero di non sbagliare):

per utilizzare il metodo openFileOutput devo fare una classe che estenda Context o, ad esempio, una activity;
 vorrei invece scrivere su un file in una classe che non sia una activity ma che venga istanziata in una activity.
Esisterebbe un modo per farlo?
Grazie anticipatamente

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Scritture in un file.
« Risposta #3 il: 07 Luglio 2011, 17:04:54 CEST »
0
mi aggancio per fare una domanda relativa a questo argomento (spero di non sbagliare):

per utilizzare il metodo openFileOutput devo fare una classe che estenda Context o, ad esempio, una activity;
 vorrei invece scrivere su un file in una classe che non sia una activity ma che venga istanziata in una activity.
Esisterebbe un modo per farlo?
Grazie anticipatamente
ti basta fare NOMEACTIVITY.this oppure getApplicationContext() o getBaseContext()
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline sergio

  • Nuovo arrivato
  • *
  • Post: 26
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Legend
Re:Scritture in un file.
« Risposta #4 il: 07 Luglio 2011, 17:46:25 CEST »
0
Grazie Nicola_D,
scusa ma non mi sono spiegato bene, però.

Vorrei fare questa operazione (leggere/scrivere dati) in una classe che non estende activity.
ad esempio Logger.java.

Questo perchè non voglio cambiare activity ma rimanere sulla stessa.

Logger.java viene istanziata nella activity corrente.

c'è un modo per scrivere senza utilizzare OpenFileOutput?