In einer person.txt haben wir die Personendaten gespeichert. Es scheint so.File Reader liest nicht alle Daten bis zum Ende
John
Smith
aösldkjf
5
8645
asdfasf
0441234545
++++++
Adam
Gilchrist
ads
asf
asf
asfd
0441234546
++++++
Dann haben wir die FileManager-Klasse erstellt, um die Daten aus dieser Datei zu lesen. Es identifiziert, dass es zwei verschiedene Einträge gibt. Aber es liest immer die ersten 8 Zeilen und bewegt sich nicht weiter. Daher wird die erste Person (zB: - John Smith) zweimal zur "LinkedList", genannt AddressBook, hinzugefügt.
// Dateimanager Klasse
public class FileManager {
public static void readFile() {
Scanner x;
LinkedList<String> tempList = new LinkedList<String>();
try {
x = new Scanner(new File("Person.txt"));
@SuppressWarnings("unused")
String temp = null;
while (x.hasNext()) {
tempList.add(x.next());
tempList.add(x.next());
tempList.add(x.next());
tempList.add(x.next());
tempList.add(x.next());
tempList.add(x.next());
tempList.add(x.next());
tempList.add(x.next());
Person person = new Person();
person.addFilePerson(tempList);
Main.addressBook.add(person);
}
} catch (Exception e) {
System.out.println("could't find the file");
}
}
}
// addFilePerson Methode in der Klasse Person
public void addFilePerson(LinkedList<String> list){
vorname = list.get(0);
nachname = list.get(1);
strasse = list.get(2);
hausnummer = list.get(3);
plz = list.get(4);
telefon = list.get(5);
wohnort = list.get(6);
}
nur eine Zeile Code zu tun. funktioniert perfekt. –