Guten Abend!
Ich sitze momentan an einem Projekt, in dem ich eine Konsolen-Anwendung in Java schreiben muss. Diese soll Noten von Prüfungsleistungen an einer Hochschule verwalten. Dazu schreibe ich mit Hilfe von FileWriter, BufferedWriter und PrintWriter in eine txt-Datei. Das funktioniert auch alles. Ich muss aber auch einen Einzeldatensatz ansehen können.
Dies habe ich so realisiert, dass ich zunächst alle Daten aus der txt-Datei in eine ArrayList packe und anschließend über content[0] mein Fach suche, und die zugehörigen Daten ausgeben lasse. Leider kann ich damit nur das Fach finden, welches ganz oben in meiner txt bzw ganz am Anfang der ArrayList steht. Suche ich ein Fach, welches darunter steht, wird dieses nicht gefunden. Der Debugger zeigt mir hier an, dass in meiner ArrayList alle Fächer nach dem ersten Fach ein "\n" vor dem Namen haben.
Hat jemand einen Tipp für mich? Vielen Dank!
Anbei noch beide Funktionen:
Ich sitze momentan an einem Projekt, in dem ich eine Konsolen-Anwendung in Java schreiben muss. Diese soll Noten von Prüfungsleistungen an einer Hochschule verwalten. Dazu schreibe ich mit Hilfe von FileWriter, BufferedWriter und PrintWriter in eine txt-Datei. Das funktioniert auch alles. Ich muss aber auch einen Einzeldatensatz ansehen können.
Dies habe ich so realisiert, dass ich zunächst alle Daten aus der txt-Datei in eine ArrayList packe und anschließend über content[0] mein Fach suche, und die zugehörigen Daten ausgeben lasse. Leider kann ich damit nur das Fach finden, welches ganz oben in meiner txt bzw ganz am Anfang der ArrayList steht. Suche ich ein Fach, welches darunter steht, wird dieses nicht gefunden. Der Debugger zeigt mir hier an, dass in meiner ArrayList alle Fächer nach dem ersten Fach ein "\n" vor dem Namen haben.
Hat jemand einen Tipp für mich? Vielen Dank!
Anbei noch beide Funktionen:
Code:
public static void addFaecherToList()
{
String content = "";
try {
content = new String(Files.readAllBytes(Paths.get("database.txt")));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String content2[] = content.split("\n");
String content3[] = content.split("\r");
eingetragene_faecher.clear();
for (String s : content3)
{
if(s.length() > 3) //Mögliche \n ausfiltern..
{
String parts[] = s.split(" ");
eingetragene_faecher.add(parts);
}
}
}
Code:
public static void readOne(String filepath, String searchTerm)
{
addFaecherToList();
for (String[] content : eingetragene_faecher )
{
if (searchTerm.equals(content[0]))
{
System.out.println("Fach: " + content[0] + " Semester: " + content[1] + " Note1: " + content[2] + " Note2: "+ content[3] + " Note3: "+ content[4] + " ECTS: "+ content[5]);
}
}
}