Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    19

    Tokenizer su txt separato da tabulazione

    Ho un file .txt composto da 5 righe e 6 colonne, in ogni riga le 6 voci sono separate da tabulazione. Ora vorrei aprire questo file con java e crearne un secondo che abbia in input la seconda e la quinta colonna del primo file; (Avrà quindi 5 righe e 2 colonne)

    Credo si dovrebbe usare lo stringTokenizer ma non so bene come procedere, potrei avere un piccolo esempio di codice?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Tokenizer su txt separato da tabulazione

    Originariamente inviato da Giovinco
    Ho un file .txt composto da 5 righe e 6 colonne, in ogni riga le 6 voci sono separate da tabulazione. Ora vorrei aprire questo file con java e crearne un secondo che abbia in input la seconda e la quinta colonna del primo file; (Avrà quindi 5 righe e 2 colonne)

    Credo si dovrebbe usare lo stringTokenizer ma non so bene come procedere, potrei avere un piccolo esempio di codice?
    Se appunto sono "separatori" (in mezzo) e non "delimitatori" (es.: aa;bb; ), allora anche più semplicemente con split() di String che usa le espressioni regolari.

    String[] dati = linea.split("\\s");

    \s in effetti indica un qualunque "whitespace" ... compreso il tab.
    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
    Mar 2009
    Messaggi
    19
    Ok.........
    Ma come faccio a scorrere le voci del file? Come faccio a identificare ogni singola stringa? Come faccio a caricare il file....... era questo che volevo sapere.....

    Grazie

  4. #4
    Ciao...

    Eccoti del codice che sicuramente ti sarà utile:
    codice:
    // 1. apertura del file in lettura 
    FileReader f = new FileReader("prova.txt");; 
    BufferedReader in = BufferedReader(f);  
    
    // 2. lettura di una riga del file 
    String line = in.readLine();  
    
    // 3. chiusura del file 
    f.close();
    Mi raccomando gestisci le eccezioni: FileNotFoundException e IOException.
    E Itera in.readLine() per leggere tutte le righe.

    Mirko

  5. #5
    codice:
    E Itera in.readLine() per leggere tutte le righe.
    Cosa dovrei mettere nel ciclo for? f.lenght() f.size()??????

    Ho provato a copiare il tuo codice e mi da errore alla riga BufferedReader(f) mi dice "The method bufferedReader(FileReader) is undifined for the class Prova" eppure ho importato java.io.BufferedReader;!!

    Sono 3 giorni che chiedo di questo problema, riuscirò ad avere un esempio che sia chiaro e che funzioni? Sono nella sezione sbagliata??

    Grazie a tutti

  6. #6
    Ora sono al lavoro:

    cmq l'errore è dato da questo:

    codice:
    BufferedReader in = new BufferedReader(f);

    Per il resto a stasera...

  7. #7
    Ciao...

    Anzi... usa questo di codice:

    codice:
    FileReader reader = new FileReader("prova.txt");
    Scanner in = new Scanner(reader);
    while(in.hasNextLine()){
       String line = in.nextLine();
        System.out.println(line); //io la stampo, ma tu la gestirai diversamente
    } // il costruttore FileReader lancia IOException, da gestire!!
    reader.close();
    Praticamente avvolgi il File Reader in uno Scanner. Il quale, se trova un'altra riga la legge, senò chiude il file.

    Più chiaro di così...



    Mirko

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 © 2026 vBulletin Solutions, Inc. All rights reserved.