Iteratoren zu Lesen und zu verarbeiten-Datei in Java

Angenommen ich habe eine Klasse Point und eine Funktion zum verarbeiten Point Instanzen

class Point { private final int x, y; ... } 
... 
void handlePoints(Durchsuchbar<Punkt> Punkte) { for (Punkt p: Punkte) {...} } 

Nun würde ich gerne Lesen points aus einer Datei. Jede Zeile der Datei enthält zwei zahlen, so habe ich eine Funktion ("factory-Methode") zu erstellen point aus einer Linie.

Point makePoint(String line) { ... } 

Was soll ich jetzt tun? Kann ich eine Funktion schreiben, die Datei zu Lesen, um eine Liste der points aus und rufen Sie den handlePoints Funktion.

Liste<Punkt> readPoints(BufferedReader reader) {...} //Verwendung makePoint hier 

void handlePoints(BufferedReader reader) { 
Liste<Punkt> Punkte = readPoints(reader); 
handlePoints(Punkte); 
} 

Leider ist diese Funktion scheint nicht besonders elegant, da schafft es eine unnötige Liste der Punkte in Erinnerung.

Wäre es nicht besser zu verwenden Iteratoren ?

void handlePoints(Iterator<Punkt> Punkte) {...} 

Iterator<Punkt> readPoints(BufferedReader reader) {...} //Verwendung makePoint hier 

void handlePoints(BufferedReader reader) { 
Iterator<Punkt> Punkte = readPoints(reader); 
handlePoints(Punkte); 
} 

Macht es Sinn? Nicht diesen code zu "laut" in Java?

InformationsquelleAutor Michael | 2013-01-01
Schreibe einen Kommentar