Ich hab die Aufgabe, aus einer Textdatei einzulesen und dabei irgendwie eine lineare Liste zu erstellen. Hier mein Code (hab schon bisschen dran gearbeitet, Name der Textdatei tvshows.txt):
public class TVShowParser {
private PI2LinearList<TVShowParser> TVshow= new PI2LinearList<>();
/**
* Liest die Textdatei ein, deren Name und evtl. Pfad durch den Parameterwert
* gegeben sind, erzeugt daraus eine entsprechende lineare Liste von TV-Serien und
* gibt diese zurück.
* <p>
* In der Textdatei befindet sich pro Zeile jeweils die Information zu einer
* Episode. Insgesamt gibt es dabei {@link TVShowParser#NO_OF_EPISODE_ENTRIES}
* Einträge. Der Name der TV-Serie befindet sich an Index {@link
* TVShowParser#TVSHOW_TITLE_INDEX}, die Nummer der Staffel an Index {@link
* TVShowParser#SEASON_INDEX}, die Nummer der Episode an Index {@link
* TVShowParser#EPISODE_NUMBER_INDEX} und der Name der Episode an Index {@link
* TVShowParser#EPISODE_TITLE_INDEX}. Eine Zeile hat also die folgende Form:
* <p>
* [Name der TV-Serie];[Staffelnummer];[Episodennummer];[Episodentitel]
* <p>
* Falls eine Zeile der Textdatei nicht diesem Format entspricht, wird sie
* ignoriert. Die Methode geht davon aus, dass in beiden Titeln kein Semikolon
* vorkommt. Falls das doch der Fall sein sollte, ist das Verhalten undefiniert.
*
* @param filePath Der Name und evtl. Pfad der einzulesenden Textdatei.
*
* @return Eine lineare Liste mit TV-Serien entsprechend der Informationen in der
* Textdatei.
*
* @throws IllegalArgumentException Falls das Argument den Wert {@code null} hat
* oder eine leere Zeichenkette ist.
* @throws IOException Falls ein Problem beim Lesen der Textdatei
* auftritt (Fehler beim Lesen der Datei, Datei
* existiert nicht, Datei kann nicht gelesen
* werden, ...).
*/
public PI2LinearList<TVShow> readTVShows(final String filePath)
throws IOException {
FileReader fr = new FileReader("tvshows.txt");
BufferedReader br = new BufferedReader(fr);
String zeile = "";
while( (zeile = br.readLine()) != null )
{
System.out.println(zeile);
}
br.close();
filePath=zeile;
return filePath;
}
}
Ganz oben standen noch paar Sachen welche nicht von Relevanz sind (hab eine Liste erstellt). Außerdem hab ich versucht, die Methode zu vervollständigen aber es klappt irgendwie nicht.