Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di hdtogo
    Registrato dal
    May 2006
    Messaggi
    51

    scansione file txt

    buongiorno...espongo il mio problema:

    ho un file txt strutturato in questo modo:

    Nome: Pippo
    Citta: Milano
    Citta: Roma
    Via: Via tre fontane
    Citta: Napoli
    Nome: Francesco
    ....

    Come si può vedere non hanno un ordine preciso...
    come faccio a mettere in uno o più array tutto quello che sta dopo i ':' ovviamente divisi per categorie (Nome, Via,...)??
    grazie
    La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Usa una HashMap: la categoria diventa la chiave, mentre il relativo valore (dopo i due punti) diventa il valore associato a quella chiave.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di hdtogo
    Registrato dal
    May 2006
    Messaggi
    51
    potresti, se non ti scoccia, farmi vedere un esempio...
    grazie
    La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ma sicuro:
    codice:
    HashMap mappa = new HashMap();
    
    // Suppongo che 'br' sia il BufferedReader che legge il file
    String linea = "";
    String [] chval;
    while ((linea = br.readLine()) != null) {
       chval = linea.split(":");   // Ottengo un array di due elementi: quello prima dei due punti e quello dopo
       mappa.put(chval[0], chval[1]);   // Aggiungo un elemento alla HashMap
    }
    ...
    br.close();
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it L'avatar di hdtogo
    Registrato dal
    May 2006
    Messaggi
    51
    scusami...non è un txt ma una variabile stringa...
    La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    E perchè hai scritto che era un file TXT?
    Ad ogni modo, non c'è il problema. Prima splitti secondo il carattere '\n' ottenendo un array in cui ogni elemento è una riga a se stante.
    Quindi, invece di scorrere il file con il while, puoi scorrere l'array con un for.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente di HTML.it L'avatar di hdtogo
    Registrato dal
    May 2006
    Messaggi
    51
    non riesco a creare un array per ogni entità (nome, citta,...)con il rispettivo contenuto
    La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Andiamo con ordine.
    Hai un file o una stringa?
    Se hai una stringa... come è costruita questa stringa?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Utente di HTML.it L'avatar di hdtogo
    Registrato dal
    May 2006
    Messaggi
    51
    cosi:
    Nome: Pippo\n\r
    Citta: Milano\n\r
    Citta: Roma\n\r
    Via: Via tre fontane\n\r
    Citta: Napoli\n\r
    Nome: Francesco......
    La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!

  10. #10
    Utente di HTML.it L'avatar di hdtogo
    Registrato dal
    May 2006
    Messaggi
    51
    poi ho l'ho splittata in questo modo:

    String[] dati = stringa.split("\n\r");
    La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perchè. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perchè!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.