Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418

    [JAVA] lettura di un file

    Ciao a tutti, esiste in java un modo per individuare la riga all'interno di un file txt, associata per esempio a data=01/01/02, cioè quello che intendo fare e pressapoco così riuscire ad individuare all'interno del file txt questa riga praticamente la numero 4, ed tirar fuori solo la data che è presente nella riga!


    Come si fa?
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  2. #2
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Questo programmino scaricato da internet permette di andare a leggere una linea di un file direttamente dalla tastiera

    import prog1.io.Input;
    import java.io.*;

    public class KeyIn {

    InputStreamReader isr;
    BufferedReader br;

    public void creaKeyInputStream () throws IOException{
    isr=new InputStreamReader(System.in);
    br = new BufferedReader(isr);
    }

    public void visualizzaRiga () throws IOException {
    String riga;

    riga=br.readLine();
    System.out.println(riga);
    }

    public static void main (String[] argv) throws IOException {
    KeyIn o=new KeyIn();

    System.out.println("Inserisci una linea di testo");
    System.out.flush();

    o.creaKeyInputStream();
    o.visualizzaRiga();
    }
    }


    ecco io vorrei fare una cosa simile però impostando già la riga e il file dove andare a leggere questa riga, come posso fare?
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  3. #3
    codice:
    [SUPERSAIBAL]
    FileReader fr = new FileReader("path del file");
    BufferedReader br = new BufferedReader(fr);
    String line = br.readLine();
    while(line!=null){
       // operazioni per il controllo della riga
       line = br.readLine();
    }
    [/SUPERSAIBAL]
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

  4. #4
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Originariamente inviato da pippo75
    codice:
    [SUPERSAIBAL]
    FileReader fr = new FileReader("path del file");
    BufferedReader br = new BufferedReader(fr);
    String line = br.readLine();
    while(line!=null){
       // operazioni per il controllo della riga
       line = br.readLine();
    }
    [/SUPERSAIBAL]
    Quindi per specificare la riga?
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  5. #5
    il codice legge riga per riga il file...
    basta che all'interno ci metti un contatore delle righe lette e il gioco è fatto
    23-08-2005: Udinese in cémpions lìg
    Questa estate l'ho passata a Tallin

  6. #6
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Ok io ho definito una variabile int i=0; poi nel ciclo lo incrementata con i++

    ecco il risultato è 6, ma per leggere la riga 5 come devo fare?

    Senti poi, volevo chiedere un'altra cosa, nella riga è presente del testo che non mi serve per esempio provadel:01/10/02
    ecco a me servirebbe solo la data, come devo fare?

    nel frattempo...
    grazie mille per l'aiuto che mi stai dando
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  7. #7
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    ok per leggere la riga ci sono riuscito in questo modo cioè all'interno del ciclo while ho messo una condizione

    if(i==4){
    System.out.println(line);
    }

    mentre per togliere quei caratteri?
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  8. #8
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Come faccio a sostituire le lettere che sono nel file alla 5 riga cioè, provadel:, con degli spazi?
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  9. #9
    Utente di HTML.it L'avatar di ghinz
    Registrato dal
    May 2001
    Messaggi
    211
    Ci sono diversi modi per estrarre la data e dipende da diversi fattori:
    - le righe che leggi sono a larghezza fissa? Cioè la data si trova sempre dal carattere X al carattere Y ed è sempre formattata allo stesso modo (giorno/mese/anno)?
    - le righe contengono dati separati da delimitatore? Ad esempio "testo|testo|testo|01/02/03|testo|testo"?
    In questi casi è semplice, basta usare il metodo String.substring() nel primo caso e la classe StringTokenizer nel secondo.

    Se invece le date ti si presentano in posizioni casuali all'interno della riga ti devi scrivere un piccolo automa che le estragga:
    Fai un ciclo che scandisce la stringa un carattere alla volta, ogni volta che incontri un numero o una barra accodi il carattere in una stringa d'appoggio fino ad ottenere la data completa. Devi gestire tutte le possibili casistiche che ti si possono presentare, ad esempio se la data non è completa ("12/3/"), è "inquinata" ("12/6hgdf/2002") etc. etc.
    Ciao
    ghinz

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.