"\n" aus ArrayList enfernen, aber wie?!

Bitte aktiviere JavaScript!
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:
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]);
         }
      }
   }
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Genau. Dazu gibt es z.B. die Methode readLine() in der Klasse BufferedReader. Du kannst es mithilfe einer while-Schleife machen. Sobald zum ersten Mal null zurückgegeben wird, soll abgebrochen werden.
 
Zuletzt bearbeitet:
Du schreibst
Java:
String content2[] = content.split("\n");
String content3[] = content.split("\r");
Die erste der beiden Zeilen hat keinen Effekt, da du content2 später nirgends verwendest.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben