Sto analizzando un file .cvs. Per ogni riga del cvs, creo un oggetto con i valori analizzati e li metto in un set.Java BufferedReader controlla le righe successive di un ciclo prima del ciclo
Prima di inserire l'oggetto nella mappa e il ciclo successivo, è necessario verificare se la riga successiva di cvs è lo stesso dell'oggetto reale, ma con un valore di proprietà particolare diverso.
Per questo, ho bisogno di controllare le righe successive del buffer, ma mantenere il buffer del loop nella stessa posizione.
Ad esempio:
BufferedReader input = new BufferedReader(new InputStreamReader(new FileInputStream(file),"ISO-8859-1"));
String line = null;
while ((line = input.readLine()) != null) {
do something
while ((nextline = input.readLine()) != null) { //now I have to check the next lines
//I do something with the next lines. and then break.
}
do something else and continue the first loop.
}
'BufferedReader()' ha metodi 'mark()' e 'reset()' che possono aiutarti (non li ho mai usati così è per questo che non li sto postando come risposta). – hmjd
Qual è il problema attuale? –
È sufficiente chiamare input.mark() senza passare alcun parametro? –