Lettura txt con readLine
Ciao a tutti, ho il seguente problema e spero che voi possiate aiutarmi.
una mia classe java deve leggere delle informazioni da un file di testo così formato:
CLIENTE
NOME COGNOME
INDIRIZZO
TELEFONO1,TELEFONO2
ETA'
AUTOMOBILE1,TARGA,MODELLO
AUTOMOBILE2,TARGA,MODELLO
AUTOMOBILE3,TARGA,MODELLO
CLIENTE
NOME COGNOME
INDIRIZZO
TELEFONO1,TELEFONO2
ETA'
AUTOMOBILE1,TARGA,MODELLO
AUTOMOBILE2,TARGA,MODELLO
CLIENTE
NOME COGNOME
INDIRIZZO
TELEFONO1,TELEFONO2
ETA'
AUTOMOBILE1,TARGA,MODELLO
AUTOMOBILE2,TARGA,MODELLO
AUTOMOBILE3,TARGA,MODELLO
AUTOMOBILE4,TARGA,MODELLO
AUTOMOBILE5,TARGA,MODELLO
AUTOMOBILE6,TARGA,MODELLO
Vorrei se possibile immagazzinare le info dei singoli clienti in array che contengono le informazioni sul cliente.
Ho pensato ovviamente di fare un ciclo per leggere tutte le linee del file e quando trovo CLIENTE di interrompere il ciclo e immagazzinare le info in un array.
Faccio nel seguente modo:
BufferedReader br = null;
String r;
Vector v = new Vector();
String[] arrayClienti = new String[1000];
try {
// apre file
br = new BufferedReader(new FileReader(nomefile));
// legge file e scrive le righe lette su System.out
for (;;) { // ciclo infinito esco se valore == null
r = br.readLine(); // legge la prossima riga del file
if (r == null) {break;} // esce dal ciclo se le righe sono finite
v.addElement(r);
//System.out.println("["+i+"]---->>"+v.elementAt(i));
if(v.elementAt(i).equals("CLIENTE")){break;}
}
Non riesco a crearmi gli array con gli oggetti che si trovano tra le due stringhe CLIENTI come posso fare?
Grazie per il vostro aiuto.
una mia classe java deve leggere delle informazioni da un file di testo così formato:
CLIENTE
NOME COGNOME
INDIRIZZO
TELEFONO1,TELEFONO2
ETA'
AUTOMOBILE1,TARGA,MODELLO
AUTOMOBILE2,TARGA,MODELLO
AUTOMOBILE3,TARGA,MODELLO
CLIENTE
NOME COGNOME
INDIRIZZO
TELEFONO1,TELEFONO2
ETA'
AUTOMOBILE1,TARGA,MODELLO
AUTOMOBILE2,TARGA,MODELLO
CLIENTE
NOME COGNOME
INDIRIZZO
TELEFONO1,TELEFONO2
ETA'
AUTOMOBILE1,TARGA,MODELLO
AUTOMOBILE2,TARGA,MODELLO
AUTOMOBILE3,TARGA,MODELLO
AUTOMOBILE4,TARGA,MODELLO
AUTOMOBILE5,TARGA,MODELLO
AUTOMOBILE6,TARGA,MODELLO
Vorrei se possibile immagazzinare le info dei singoli clienti in array che contengono le informazioni sul cliente.
Ho pensato ovviamente di fare un ciclo per leggere tutte le linee del file e quando trovo CLIENTE di interrompere il ciclo e immagazzinare le info in un array.
Faccio nel seguente modo:
BufferedReader br = null;
String r;
Vector v = new Vector();
String[] arrayClienti = new String[1000];
try {
// apre file
br = new BufferedReader(new FileReader(nomefile));
// legge file e scrive le righe lette su System.out
for (;;) { // ciclo infinito esco se valore == null
r = br.readLine(); // legge la prossima riga del file
if (r == null) {break;} // esce dal ciclo se le righe sono finite
v.addElement(r);
//System.out.println("["+i+"]---->>"+v.elementAt(i));
if(v.elementAt(i).equals("CLIENTE")){break;}
}
Non riesco a crearmi gli array con gli oggetti che si trovano tra le due stringhe CLIENTI come posso fare?
Grazie per il vostro aiuto.
Risposte
Non ho ben capito quale separatore hai tra il Cognome ed il Nome,
lo spazio potrebbe risultare non efficiente in quanto potresti avere un cognome "doppio" tipo DI NATALE,
oppure un nome doppio tipo ANNA MARIA
lo spazio potrebbe risultare non efficiente in quanto potresti avere un cognome "doppio" tipo DI NATALE,
oppure un nome doppio tipo ANNA MARIA
ciao e grazie per la risposta, il campo nome cognome è unico e non ho separatori.
Ma la scelta di memorizzare i singoli dati del cliente in un array e' obbligata oppure puoi fare altro? Perche' nel caso penserei ad una classe specifica...
Non sono obbligato a memorizzare le info in un array, posso utilizzare anche qualcos'altro, l'importante è avere poi uno strumento di facile consultazione da leggere e aggiornare.
Allora dovrebbe essere abbastanza facile creando una classe apposita (quindi con tanto di proprieta' e metodi)... il problema maggiore potrebbe essere sulla gestione di una lista per memorizzare i dati delle automobili associate al cliente (anche questa una classe volendo), ma e' solo una questione di conoscenza del linguaggio immagino....
potresti farmi un esempio su come impostare questa classe? la lettura del file va bene o va modificata?
Ora non so la sintassi di java (lavoro con delphi...), ma dovrebbe essere qualcosa del genere:
class cliente
{
private string nome_cognome;
private string indirizzo;
private string telefono1;
private string telefono2;
private integer eta;
private linkedlist autoCliente automobile;
public create(......);
public string getNomeCognome();
....
public setNomeCognome(string s);
.....
}
la linkedlist ti serve per memorizzare la lista di automobili che sarebbero rappresentate dalla classe auto:
class automobile
{
private string auto;
private string targa;
private string modello;
public create(.....);
public get.....
public set....
}
quindi ti devi creare n oggetti automobile da "scrivere" nella proprieta' autoCliente.
Spero di averti dato uno spunto utile
class cliente
{
private string nome_cognome;
private string indirizzo;
private string telefono1;
private string telefono2;
private integer eta;
private linkedlist autoCliente automobile;
public create(......);
public string getNomeCognome();
....
public setNomeCognome(string s);
.....
}
la linkedlist ti serve per memorizzare la lista di automobili che sarebbero rappresentate dalla classe auto:
class automobile
{
private string auto;
private string targa;
private string modello;
public create(.....);
public get.....
public set....
}
quindi ti devi creare n oggetti automobile da "scrivere" nella proprieta' autoCliente.
Spero di averti dato uno spunto utile
