Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 43

Discussione: lettura file txt

  1. #1

    lettura file txt

    salve a tutti ragazzi sono alle prime armi con la programmazione java, vorrei avere alcuni consigli per un mio primo programma...
    In questo programma io ho un file di testo txt del tipo

    1 Paolo Rossi via Roma 16 Pescara 180
    2 Luca Neri contrada LaRocca 33 Roma 334

    Queste sono due righe del file di testo ma ne ho una decina in questo modo, e stanno ad indicare il codice, il nome, cognome, spazio, nome via, civico, città e distanza (praticamente sono dei destinatari a cui devono essere spediti dei pacchi)
    Io devo inserire da tastiera un numero che corrisponda al codice cioè il pirmo numero e farne la stampa dell'intera riga; l'inserimento del numero da tastiera non è un problema ma come posso confrontare il numero che inserisco con la prima stringa cioè il pirmo numero che ho su ogni singola riga del file di testo per poi fargli stampare la prima riga?
    se non sono stato chiaro faccio un esempio

    Inserisci codice destinatario per la stampa
    2
    allora l'output sarà
    2 Luca Neri contrada LaRocca 33 Roma 334
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ho l'impressione che tu abbia confuso java con javascript nel dubbio ti sposto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013

    Re: lettura file txt

    Originariamente inviato da blackguardian
    salve a tutti ragazzi sono alle prime armi con la programmazione java, vorrei avere alcuni consigli per un mio primo programma...
    In questo programma io ho un file di testo txt del tipo

    1 Paolo Rossi via Roma 16 Pescara 180
    2 Luca Neri contrada LaRocca 33 Roma 334

    Queste sono due righe del file di testo ma ne ho una decina in questo modo, e stanno ad indicare il codice, il nome, cognome, spazio, nome via, civico, città e distanza (praticamente sono dei destinatari a cui devono essere spediti dei pacchi)
    Io devo inserire da tastiera un numero che corrisponda al codice cioè il pirmo numero e farne la stampa dell'intera riga; l'inserimento del numero da tastiera non è un problema ma come posso confrontare il numero che inserisco con la prima stringa cioè il pirmo numero che ho su ogni singola riga del file di testo per poi fargli stampare la prima riga?
    se non sono stato chiaro faccio un esempio

    Inserisci codice destinatario per la stampa
    2
    allora l'output sarà
    2 Luca Neri contrada LaRocca 33 Roma 334
    Suppongo sia un esercizio per imparare ad usare alcune strutture di dati in java.

    Potresti voler incominciare a leggere qui
    http://java.sun.com/javase/6/docs/te...s/collections/

    segui tutorial e quant'altro per una panoramica. Poi se vuoi la mera implementazione del codice... si tratta in definitiva di instaurare una relazione chiave-valore e senza troppi fronzoli potresti usare benissimo un Hashtable
    http://java.sun.com/javase/6/docs/ap...Hashtable.html
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    non credo che quello che tu mi abbia dato mi sia di grande aiuto, ecco io cerco un metodo che insieme alla lettura parola parola del file mi controlli anche il primo valore con un if
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    72
    Prova così:
    codice:
            BufferedReader br = null;
            try {
                br = new BufferedReader(new FileReader(file));
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            boolean trovato=false;
            String riga=null;
            String codice="1";//codice da cercare
            try {
                riga = br.readLine();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
            while(riga!=null){
                if(riga.startsWith(codice)){   //controllo
                    System.out.println("Risultato="+riga);
                    trovato=true;
                }
                try {
                        riga = br.readLine();
                    } catch (IOException ex) {
                        ex.printStackTrace();
                    }
            }
            if(!trovato)
                System.out.println("Nessun riscontro");

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da blackguardian
    non credo che quello che tu mi abbia dato mi sia di grande aiuto, ecco io cerco un metodo che insieme alla lettura parola parola del file mi controlli anche il primo valore con un if
    Un file di testo non lo puoi leggere "parola per parola" (a meno di usare bufferizzazioni e tokenizzazioni)... solitamente lo si legge "riga per riga".


    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
    grazie fr84 sei stato utilissimo...però nel caso io dovessi cancellarla la riga invece di stamparla??
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da blackguardian
    però nel caso io dovessi cancellarla la riga invece di stamparla??
    Non puoi eliminare fisicamente dati da un file. Detto in generale: si può solo sovrascrivere byte già esistenti oppure "appendere" (aggiungere al fondo) nuovi byte. Tutto qui. E ripeto: questo vale in generale.
    Quindi se da un file di testo vuoi eliminare una riga devi riscrivere l'intero file.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    per fare la stampa della riga ok....ma nel caso in cui nella stampa non si vuole stampare un dato come ad esempio la città...cosa devo fare? (ecco da qui il mio problema di leggere il file parola parola, infatti in questo caso ad esempio la riga

    2 Luca Neri contrada LaRocca 33 Roma 334

    si vuole stampare l'intera riga tranne la città quindi il risultato


    2 Luca Neri contrada LaRocca 33 334

    in questo caso?
    Se ti dicono siediti e stai zitto...tu alzati e muori combattendo!!!

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da blackguardian
    ma nel caso in cui nella stampa non si vuole stampare un dato come ad esempio la città...
    Ah ok .... avevo capito che volevi eliminare una riga dal file. No ... vuoi solo non stampare un pezzo della riga.

    Originariamente inviato da blackguardian
    cosa devo fare?

    2 Luca Neri contrada LaRocca 33 Roma 334

    si vuole stampare l'intera riga tranne la città quindi il risultato

    2 Luca Neri contrada LaRocca 33 334
    Qui devi fornire qualche informazione in più sui criteri di scelta di cosa non stampare.

    Nella tua riga ci sono dei "token" separati da spazi, vedo ... sono tutte così le righe? E il "token" da eliminare è sempre il penultimo?? Cioè tu "sai" che la città è sempre il penultimo token? O non sai quale è e vuoi cercare ed eliminare proprio una o più città di cui conosci a priori il nome???

    Insomma ... qui la questione è solo stabilire "che cosa sai" delle righe!
    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.