AppletTalk.com Forum Index AppletTalk.com
Java discussions newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Parsing di un file di testo

 
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian)
View previous topic :: View next topic  
Author Message
Ra1n
Guest





PostPosted: Mon Feb 20, 2006 3:12 pm    Post subject: Parsing di un file di testo Reply with quote



Ok forse la domanda è banale, ma con java non ci vado ancora molto daccordo,
dovrei leggere da un file di testo una sequenza di caratteri (più
precisamente numeri interi) che poi dovrei infilare in una matrice
Mi sono scontrato con un problemino, se io apro il file in questa maniera:

BufferedReader mapInput = new BufferedReader(new FileReader("map.txt"));

il metodo mapInput.read() mi restituisce il valore del carattere in byte :-/
il metodo readLine() invece mi restituisce correttamente una stringa,
che però manca del primo carattere della riga!
Dove sbaglio?

Luca
Back to top
Andrea Bat...
Guest





PostPosted: Mon Feb 20, 2006 3:12 pm    Post subject: Re: Parsing di un file di testo Reply with quote



Quote:
Ok forse la domanda è banale, ma con java non ci vado ancora molto
daccordo,
dovrei leggere da un file di testo una sequenza di caratteri (più
precisamente numeri interi) che poi dovrei infilare in una matrice
Mi sono scontrato con un problemino, se io apro il file in questa maniera:

BufferedReader mapInput = new BufferedReader(new FileReader("map.txt"));

il metodo mapInput.read() mi restituisce il valore del carattere in byte
:-/
il metodo readLine() invece mi restituisce correttamente una stringa,
che però manca del primo carattere della riga!
Dove sbaglio?

mi sembra strano che ti manchi il primo carattere, ma è possibile se prima
di readLine() hai per esempio fatto read(), allora il primo carattere è
stato mangiato dalla read()

ciao
Back to top
Ra1n
Guest





PostPosted: Mon Feb 20, 2006 3:12 pm    Post subject: Re: Parsing di un file di testo Reply with quote



Andrea Bat... ha scritto:
Quote:
Ok forse la domanda è banale, ma con java non ci vado ancora molto
daccordo,
dovrei leggere da un file di testo una sequenza di caratteri (più
precisamente numeri interi) che poi dovrei infilare in una matrice
Mi sono scontrato con un problemino, se io apro il file in questa maniera:

BufferedReader mapInput = new BufferedReader(new FileReader("map.txt"));

il metodo mapInput.read() mi restituisce il valore del carattere in byte
:-/
il metodo readLine() invece mi restituisce correttamente una stringa,
che però manca del primo carattere della riga!
Dove sbaglio?

mi sembra strano che ti manchi il primo carattere, ma è possibile se prima
di readLine() hai per esempio fatto read(), allora il primo carattere è
stato mangiato dalla read()
Uhmm possibile, la lettura del file di testo viene fatta in questa maniera:


while(mapInput.read()!=-1)
{
System.out.print(mapInput.read());
}

di fatto nel corpo del while viene eseguita la read() per vedere se il
file è terminato, può essere quello? modi per aggirare il problema?
(in questo caso potrei leggere l'intera riga come stringa, analizzarla
char per char e buttare il risultato in ogni riga della matrice)

Luca
Back to top
pb
Guest





PostPosted: Mon Feb 20, 2006 3:12 pm    Post subject: Re: Parsing di un file di testo Reply with quote

si dovrebbe bastare una cosa del genere:

String riga = null;
while ( (riga = mapInput .readLine()) != null) {

// qua ti analizzi la riga

}



Quote:
di fatto nel corpo del while viene eseguita la read() per vedere se il
file è terminato, può essere quello? modi per aggirare il problema?
(in questo caso potrei leggere l'intera riga come stringa, analizzarla
char per char e buttare il risultato in ogni riga della matrice)

Luca
Back to top
Guest






PostPosted: Mon Feb 20, 2006 3:12 pm    Post subject: Re: Parsing di un file di testo Reply with quote

Forse Ra1n ha ragione.

Non e' che PRIMA di chiamare la readLine() fai una read(), magari solo
per testare EOF.
Allora e' chiaro che il primo carattere te lo sei mangiato con la
read().
Back to top
Ra1n
Guest





PostPosted: Mon Feb 20, 2006 3:12 pm    Post subject: Re: Parsing di un file di testo Reply with quote

maurizio.cavalli (AT) gmail (DOT) com ha scritto:
Quote:
Forse Ra1n ha ragione.

Non e' che PRIMA di chiamare la readLine() fai una read(), magari solo
per testare EOF.
Allora e' chiaro che il primo carattere te lo sei mangiato con la
read().

infatti era quello che facevo Razz


Luca
Back to top
Ra1n
Guest





PostPosted: Mon Feb 20, 2006 3:12 pm    Post subject: Re: Parsing di un file di testo Reply with quote

pb ha scritto:
Quote:
si dovrebbe bastare una cosa del genere:

String riga = null;
while ( (riga = mapInput .readLine()) != null) {

// qua ti analizzi la riga

}

infatti funziona, grazie Smile


String riga = null;
while ( (riga = mapInput.readLine()) != null)
{
System.out.println(riga);
}

questo stampa correttamente tutto il file, adesso posso analizzare la
stringa per estrarre i caratteri uno ad uno e buttarli nella matrice.
Grazie ancora

Luca
Back to top
Display posts from previous:   
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.