Autore Topic: Importare dati da un file in un array int  (Letto 1493 volte)

Offline IlMitico

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
  • Sistema operativo:
    Windows 7
Importare dati da un file in un array int
« il: 04 Novembre 2011, 13:11:49 CET »
0
Salve a tutti. Sono abbastanza nuovo di android e vorrei porvi un quesito. Ho salvato i dati di un int array in un file di testo e ora vorrei riprenderli e riottenere un int array a partire dal file di testo. In pratica potreste darmi qualche dritta sull'import di matrici da file in android?
Codice (Java): [Seleziona]
int Serie[] = {1,3,4,5,11,15,18};
try {
            FileOutputStream fOut = openFileOutput("file.txt",
                                                    MODE_WORLD_READABLE);
            OutputStreamWriter osw = new OutputStreamWriter(fOut);

            String txtSerie = Arrays.toString(Serie);//probabilmente dovrei mettere un   .replace(", ", " ");
            osw.write(txtSerie);
            osw.flush();
            osw.close();

            //Ora leggo
            FileInputStream fIn = openFileInput("file.txt");
            InputStreamReader isr = new InputStreamReader(fIn);
             char[] inputBuffer = new char[30];   //questo 30 l'ho messo a caso..
            isr.read(inputBuffer);
           String readString = new String(inputBuffer);

} catch (IOException ioe) {
            ioe.printStackTrace();
    }

In questo modo ottengo una stringa
readString = [1,3,4,5,11,15,18]

Io vorrei un int array di lunghezza 7 Qualcuno conosce il metodo di conversione adatto? Magari il metodo che ho usato per scrivere non è dei migliori.. Se qualcuno sa indicarmi qualche altro modo per memorizzare i dati o linkarmi qualche guida non troppo complessa al riguardo gli sarei grato.

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
Re:Importare dati da un file in un array int
« Risposta #1 il: 04 Novembre 2011, 16:32:35 CET »
0
Hai provato:

Codice: [Seleziona]
//Stringa
String data = "1,2,3"; 
//Split data into an array 
Int[] values = data.split(","); 

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

Offline IlMitico

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
  • Sistema operativo:
    Windows 7
Re:Importare dati da un file in un array int
« Risposta #2 il: 04 Novembre 2011, 18:07:26 CET »
0
Grazie... Ho risolto!!!
Codice (Java): [Seleziona]
readString = readString.replace("[", "");// Tolgo le parentesi
readString = readString.replace("]", "");

//Poi seguo il tuo consiglio
String[] values = readString.split(",");    //non va bene direttamente l'int

//E quindi converto
int Imax = values.length;
int[] vettore = new int[Imax];
for(int i=0; i<Imax; i++){
          vettore[i] = Integer.parseInt(values[i]);
}

Forse non è molto efficiente, ma è abbastanza efficace e semplice.
Grazie.