Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205

    [JAVA]Lettura File .dat

    Buongiorno,
    devo leggere dei dati da un file .dat strutturato in questo modo:
    codice:
         Team         F    A
    1.  Baci          45   6
    2.  ProPatria     30  15
    3.  Avellino          19
    4.  Salerno       35  21
    Dovrei prendere i dati delle colonne F e A ed esaminarli il mio problema è come fare a prendere i singoli dati, devo splittare sugli spazi? Ma ad esempio nella riga 3 se mi manca un valore come lo risolvo?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Uccio87 Visualizza il messaggio
    devo splittare sugli spazi? Ma ad esempio nella riga 3 se mi manca un valore come lo risolvo?
    Semplicemente "splittare" no, perché non ci sono delimitatori più particolari (es. vigole, ecc..) e da quanto dici possono mancare dei dati (es. F).
    Se il file è come si vede qui, allora è fatto a "colonne", quindi andrai a prendere i caratteri alle tal colonne. Ovvero farai dei substring.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Ovvero farai dei substring.
    Grazie per la risposta.
    quindi mi conviene prendere ogni singola riga del file esamire ogni carattere quando trovo un valore uso substring per prendere il dato e magari inserire tutto in una matrice? così poi da poter lavorare sulle singole colonne

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Uccio87 Visualizza il messaggio
    quindi mi conviene prendere ogni singola riga del file
    Sì, saltando la prima (intestazione), poi "per ciascuna riga". Se ci fossero righe vuote, le puoi anche saltare.

    Quote Originariamente inviata da Uccio87 Visualizza il messaggio
    esamire ogni carattere quando trovo un valore uso substring per prendere il dato
    Non c'è da esaminare carattere per carattere. Basta un substring, ma devi sapere tu a priori da quale indice a indice è presente una colonna.

    codice:
    1.  Baci          45   6
              11111111112222222222
    012345678901234567890123456789

    La colonna F finisce all'offset 19. Ma inizia al 18 o al 17? Quanto possono essere grandi i valori? Lo devi sapere tu.

    Quote Originariamente inviata da Uccio87 Visualizza il messaggio
    e magari inserire tutto in una matrice? così poi da poter lavorare sulle singole colonne
    Più che "matrice", meglio una classe che modella l'entità e poi una lista o array di questi oggetti.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    205
    Quote Originariamente inviata da andbin Visualizza il messaggio
    ma devi sapere tu a priori da quale indice a indice è presente una colonna.
    L'unica cosa che non mi è chiara è come faccio a saperlo a priori?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Uccio87 Visualizza il messaggio
    L'unica cosa che non mi è chiara è come faccio a saperlo a priori?
    Beh, dipende da dove arriva quel file. L'hai "inventato" tu? Allora puoi fare come ti pare. Te l'ha fornito qualcun'altro? Allora verifica se ci sono specifiche a riguardo. L'hai trovato su internet? Verifica se ci sono specifiche da qualche parte.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    9
    esiste un metodo che per ogni riga ti estra la parola (stringa) eliminandoti tutti gli spazi?

    ad esempio della riga 2 estraggo:

    1. Cagliari 42 25 8 9 78 - 41 83

    così all indice 0 estraggo 1. all'indice 1 estraggo Cagliari ecc...

    poi mi prendo l'indice 1, 6 e 7.

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da egabrom Visualizza il messaggio
    esiste un metodo che per ogni riga ti estra la parola (stringa) eliminandoti tutti gli spazi?
    Ma l'ho detto prima .... comunque, come esempio:

    codice:
    String linea = "    1. Cagliari        42    25   8   9    78  -  41    83";
    
    int indice = Integer.parseInt(linea.substring(0, 5).trim());
    String team = linea.substring(7, 20).trim();
    int valoreP = Integer.parseInt(linea.substring(22, 25).trim());

    NOTA: la linea l'ho presa dal tuo post precedente. Ovviamente NON so se è esattamente così, perché postata sul forum potresti aver "sballato" il copia/incolla mettendo più o meno spazi.
    Gli indici esatti li DEVI scoprire e determinare guardando la sorgente dei dati che hai di fronte tu.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.