Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Neds
    Registrato dal
    Nov 2004
    Messaggi
    25

    [JAVA] Lettura parola da file di testo

    salve,
    ho un file in formato .txt,contenente delle parole, del tipo:
    codice:
    parola, parola
    parola parola parola
    
    parola
    come faccio a far leggere il file al programma in modo da far suddividere ogni parola in string per poi elaborarla?
    provo ad usare il comando int.read ma non va(me li converte in numero) se uso il char.read mi da errore


    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    forse per il tuo scopo, ti converrebbe utilizzare un BufferedReader e leggere il file riga per riga con readLine.

    Se cerchi nel forum, se n'è parlato una mezza camionata di volte.
    Ciao.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it L'avatar di Zalex
    Registrato dal
    Aug 2001
    Messaggi
    357
    nn ho capito se ti serve leggere una (esattamente una)parola dal file d testo oppure leggere un tot d parole ed elaboralle separatamente.

    cmq la seconda e' la cosa piu' classica.....quindi:
    *leggi una riga intera dal file(ottieni una stringa con tutte le parola della riga).

    *ricavi dalla stringa le varie parole...come? con StringTokenizer. per i dettagli consulta la documentazione su java.sun.com

    StringTokenizer fu parte del package java.util

    naturalmente non e' l'unico modo per estrarre una stringa ga una stringa....pero e' comodo. l'idea e' che tu gli dai un separatore(per esempio ' ' (spazio)) e vengono creati dei token(che nel tuo caso saranno le parole).

    ciao

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Se non vuoi utilizzare uno StrinkTokenizer puoi tranquillamente usare il metodo split() della classe String.


    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 Neds
    Registrato dal
    Nov 2004
    Messaggi
    25
    avevo già pensato al readLine, ma volevo evitare di creare una stringa per ogni riga e poi dividere la stringa nelle parole per elaborarle, in quanto nel file ci sono più righe, avrei preferito un codice che fosse simile allo StringTokenizer ma che non si interrompesse alla fine della riga(cioè che continuasse a leggere non tenendo conto dell'interruzione di riga)in modo che con un comando mi creo tante stringhe quante sono le parole nel file.
    cmq grazie lo stesso

  6. #6
    Utente di HTML.it L'avatar di Wave
    Registrato dal
    May 2003
    Messaggi
    644
    guarda se questo puo esserti utile....;

    http://forum.html.it/forum/showthrea...oordinate+file

    ciao ciao
    LINUX
    Powered by Ubuntu
    Powered by MacOS X


    ...vivi la tua vita come se ogni giorno fosse l'ultimo, poichè un giorno lo sarà...

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da Neds
    avevo già pensato al readLine, ma volevo evitare di creare una stringa per ogni riga e poi dividere la stringa nelle parole per elaborarle, in quanto nel file ci sono più righe, avrei preferito un codice che fosse simile allo StringTokenizer ma che non si interrompesse alla fine della riga(cioè che continuasse a leggere non tenendo conto dell'interruzione di riga)in modo che con un comando mi creo tante stringhe quante sono le parole nel file.
    cmq grazie lo stesso
    Puoi sempre leggere prima tutto il file, memorizzando tutte le linee in una sola stringa e poi passare quella stringa allo StringTokenizer:
    codice:
    BufferedReader br = new BufferedReader( new InputStreamReader( new FileInputStream("file.txt") ) );
    
    // Leggo tutto il file e memorizzo in una stringa
    String linea = "";
    String contenuto = "";
    while ((linea = br.readLine()) != null) {
       if (!linea.equals(""))
          contenuto += "," + linea
    }
    
    // Ora costruisco lo StringTokenizer; separatori: virgola e spazio
    StringTokenizer st = new StringTokenizer(contenuto, ", ");
    
    // Ottengo tutte le parole
    String [] parole = new String[st.countTokens()];
    while (st.hasMoreTokens()) {
       parole[i] = st.nextTokens();
    }
    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

  8. #8
    Utente di HTML.it L'avatar di Neds
    Registrato dal
    Nov 2004
    Messaggi
    25
    Originariamente inviato da LeleFT
    Puoi sempre leggere prima tutto il file, memorizzando tutte le linee in una sola stringa e poi passare quella stringa allo StringTokenizer:
    codice:
    BufferedReader br = new BufferedReader( new InputStreamReader( new FileInputStream("file.txt") ) );
    
    // Leggo tutto il file e memorizzo in una stringa
    String linea = "";
    String contenuto = "";
    while ((linea = br.readLine()) != null) {
       if (!linea.equals(""))
          contenuto += "," + linea
    }
    
    // Ora costruisco lo StringTokenizer; separatori: virgola e spazio
    StringTokenizer st = new StringTokenizer(contenuto, ", ");
    
    // Ottengo tutte le parole
    String [] parole = new String[st.countTokens()];
    while (st.hasMoreTokens()) {
       parole[i] = st.nextTokens();
    }
    Ciao.
    hai ragione, grazie

    @wave: quel programma l'ho risolto(punti e cerchi),questo(parole) anche se è simile, non riuscivo a trovare la soluzione, ora provo i vari consigli e credo(spero) di riuscirci

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