Hallo zusammen.
Ich versuche derzeit einen großen Datenmenge aus CSV-Dateien auszulesen und diese nach und nach in einer Map zu speichern. Bisher geling das auch immer recht gut, nur jetzt zweifle ich gerade an das Schreiben einer Methode, die die ausgelesenen Daten entsprechend weitergibt.
Folgender Kontext:
In der Klasse CSVFileReader wird eine CSV ausgelesen, deren Inhalte vorerst in einer ArrayList mapFiles festgehalten werden, wohinter wiederum eine Collection der Klasse TeleAtlas steht:
Die Klasse TeleAtlas besteht lediglich aus einem Object, welches vier Strings verlangt. Die dazugehörigen Getter wurden entsprechend formuliert.
Nun folgt die Klasse MapLoader, die die eingelesenen Daten verarbeiten bzw. filtern soll. Diese beinhaltet unter anderem die Methode getMapFiles(). Da ich diese Methode eher kurz halten möchte, habe ich dort lediglich die einzulesene Datei und die zu verwendene Methode der Klasse CSVFilesReader angegeben:
Was sollte eurer Meinung nach hinter return stehen, dass diese Methode die komplette Liste der eingelesenen CSV-Daten enthält.
Gruß,
Paul
Ich versuche derzeit einen großen Datenmenge aus CSV-Dateien auszulesen und diese nach und nach in einer Map zu speichern. Bisher geling das auch immer recht gut, nur jetzt zweifle ich gerade an das Schreiben einer Methode, die die ausgelesenen Daten entsprechend weitergibt.
Folgender Kontext:
In der Klasse CSVFileReader wird eine CSV ausgelesen, deren Inhalte vorerst in einer ArrayList mapFiles festgehalten werden, wohinter wiederum eine Collection der Klasse TeleAtlas steht:
Code:
public class CSVFileReader {
public static void readCsvFile(String fileName) {
FileReader fileReader = null;
CSVParser csvFileParser = null;
CSVFormat csvFileFormat = CSVFormat.DEFAULT;
try{
ArrayList<TeleAtlas> mapFiles = new ArrayList<TeleAtlas>();
fileReader = new FileReader(fileName);
csvFileParser = new CSVParser(fileReader, csvFileFormat);
List csvRecords = csvFileParser.getRecords();
for (int i=0; i<csvRecords.size();i++){
CSVRecord record = (CSVRecord)csvRecords.get(i);
mapFiles.add(new TeleAtlas(record.get(0), record.get(0), record.get(0), record.get(0)));
}
}
[...]
catch{}
finally{try {} catch{}}
}
Die Klasse TeleAtlas besteht lediglich aus einem Object, welches vier Strings verlangt. Die dazugehörigen Getter wurden entsprechend formuliert.
Nun folgt die Klasse MapLoader, die die eingelesenen Daten verarbeiten bzw. filtern soll. Diese beinhaltet unter anderem die Methode getMapFiles(). Da ich diese Methode eher kurz halten möchte, habe ich dort lediglich die einzulesene Datei und die zu verwendene Methode der Klasse CSVFilesReader angegeben:
Code:
public class MapLoader {
[...]
private List<File> getMapFiles() {
String fileName = "mapdata/DEU_highways_TeleAtlas_eur2014.06.csv";
CSVFileReader.readCsvFile(fileName);
List<File> mapData = new ArrayList<>();
return mapData.addAll((CSVFilesReader) mapFiles);
}
Was sollte eurer Meinung nach hinter return stehen, dass diese Methode die komplette Liste der eingelesenen CSV-Daten enthält.
Gruß,
Paul