Autore Topic: Salvare Map/HashMap su file (memoria interna)  (Letto 589 volte)

Offline lucacasula91

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S4 Mini
  • Sistema operativo:
    Mac OS X 10.10
Salvare Map/HashMap su file (memoria interna)
« il: 22 Aprile 2015, 12:43:15 CEST »
0
Salve forum, sto seguendo in giro per la rete diversi esempi per salvare su un file le chiavi e i valori di un HashMap.
Prendendo in considerazione questo codice:
Codice (Java): [Seleziona]
 
        Map dict = new HashMap<String, String>();
        dict.put("A", "Valore1");
        dict.put("B", "Valore2");
        dict.put("C", "Valore2");
try {
FileOutputStream fileOutputStream = new FileOutputStream("fileName.dict");
ObjectOutputStream objectOutputStream= new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(dict);
objectOutputStream.close();
fileOutputStream.close();
} catch (Exception e) {/**/ }

non viene creato nessun file sulla cartella Files, se prima creo un file vuoto con:

Codice (Java): [Seleziona]
 File fileDir = new File(getFilesDir(), "fileName.dict");
        if (!fileDir.exists()) {
            try {
                fileDir.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
il file vuoto viene creato ma successivamente non apporta nessuna modifica di salvataggio.
C'è un modo per salvare l'HashMap per poi caricarlo in un secondo momento dal file?
Premetto che sono nuovo nello sviluppo android, vengo dal mondo iOS.

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 765
  • Respect: +159
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Salvare Map/HashMap su file (memoria interna)
« Risposta #1 il: 22 Aprile 2015, 13:23:39 CEST »
0
Prova con

Codice (Java): [Seleziona]
objectOutputStream.writeObject((HashMap<String, String>)dict);
e soprattutto logga l'eccezione

Codice (Java): [Seleziona]
} catch (Exception e) { Log.e("WriteFile", "Error", e) }
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline lucacasula91

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S4 Mini
  • Sistema operativo:
    Mac OS X 10.10
Re:Salvare Map/HashMap su file (memoria interna)
« Risposta #2 il: 22 Aprile 2015, 13:39:01 CEST »
0
credo di aver risolto, forse il problema era dovuto alla directory del file, ora ho sistemato con:

Codice (Java): [Seleziona]
FileInputStream(new File(getFilesDir(), "fileName.dict"));sembra che sia tutto a posto  :-)