Abbiamo un'applicazione Java che ha un paio di moduli che sanno leggere i file di testo. Lo fanno semplicemente con un codice come questo:Iterare il contenuto di un file di testo riga per riga: esiste una best practice? (Vs AssignmentInOperand del PMD)
BufferedReader br = new BufferedReader(new FileReader(file));
String line = null;
while ((line = br.readLine()) != null)
{
... // do stuff to file here
}
ho corse PMD sul mio progetto e ha ottenuto il 'AssignmentInOperand' violazione sulla linea while (...)
.
C'è un modo più semplice di fare questo circuito diverso da quello ovvio:
String line = br.readLine();
while (line != null)
{
... // do stuff to file here
line = br.readLine();
}
È questo considerato una pratica migliore? (Anche se abbiamo "duplicato" il codice line = br.readLine()
?)
Nice BufferedReaderIterator. Ho dovuto sostituire r.mark (1) con r.mark (2), altrimenti avrei un "segno non valido" di circa 100 righe in un file di grandi dimensioni. Non capisco perché. –
Che ne dici di un ciclo 'for'? 'for (String line = br.readLine(); line! = null; line = br.readLine()) {...}' –