Hallo liebes Forum,
dies ist mein erster Beitrag. Ich versuche mich an alles zu halten, an was ich mich zu halten habe, wenn man einen Beitrag erfasst. Ich bin darüber hinaus absoluter Java-Neuling und habe generell noch Schwierigkeiten mit Objekt-Orientierung. Ich bin über jeden Hinweis zur Verbesserung des Codes dankbar.
Es geht um folgendes:
Ich möchte aus einer CSV-Datei Daten einlesen und dann mit ihnen arbeiten. (Geht um Interpreten und Titel von Mp3's)
Dazu habe ich folgendes im Netz gefunden und ein wenig bearbeitet.
Es geht nun darum, dass ich mit Hilfe eines JFileChoosers einen Datei auswählen möchte und dann die entsprechende Datei einzulesen.
getResourceAsStream() gibt mir, so viel habe ich herausgefunden, nur die Möglichkeit Dateien im classpath zu laden. Jetzt liegen die Dateien aber immer mal woanders im fileSystem des Rechners auf dem die Anwedung laufen soll.
FileInputStream soll die Lösung sein, aber ich habe leider keine Ahnung, wie ich damit umgehen soll.
BufferedInputStream wäre effizienter (sagen diverse Quellen), weil dann nicht die lokale Datei jedes Mal gelesen wird.
Ich habe versucht es irgendwie zum laufen zu kriegen, bekomme aber immer eine FileNotFOundException.
Ich danke im Vorraus für jede Hilfe.
MfG
MasseElch
dies ist mein erster Beitrag. Ich versuche mich an alles zu halten, an was ich mich zu halten habe, wenn man einen Beitrag erfasst. Ich bin darüber hinaus absoluter Java-Neuling und habe generell noch Schwierigkeiten mit Objekt-Orientierung. Ich bin über jeden Hinweis zur Verbesserung des Codes dankbar.
Es geht um folgendes:
Ich möchte aus einer CSV-Datei Daten einlesen und dann mit ihnen arbeiten. (Geht um Interpreten und Titel von Mp3's)
Dazu habe ich folgendes im Netz gefunden und ein wenig bearbeitet.
Java:
public class ReadNewToplist {
private ArrayList<ListEntry> topList;
public ReadNewToplist() throws IOException {
try (InputStream is = getClass().getResourceAsStream("test.csv");
BufferedReader br = new BufferedReader(new InputStreamReader(is))) {
String line;
ListEntry tmp;
this.topList = new ArrayList<ListEntry>();
while ((line = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line, ";");
String pos = st.nextToken();
String interpret = st.nextToken();
String titel = st.nextToken();
tmp = new ListEntry();
tmp.setInterpret(interpret);
tmp.setTitel(titel);
this.topList.add(tmp);
}
}
}
}
}
Es geht nun darum, dass ich mit Hilfe eines JFileChoosers einen Datei auswählen möchte und dann die entsprechende Datei einzulesen.
getResourceAsStream() gibt mir, so viel habe ich herausgefunden, nur die Möglichkeit Dateien im classpath zu laden. Jetzt liegen die Dateien aber immer mal woanders im fileSystem des Rechners auf dem die Anwedung laufen soll.
FileInputStream soll die Lösung sein, aber ich habe leider keine Ahnung, wie ich damit umgehen soll.
BufferedInputStream wäre effizienter (sagen diverse Quellen), weil dann nicht die lokale Datei jedes Mal gelesen wird.
Ich habe versucht es irgendwie zum laufen zu kriegen, bekomme aber immer eine FileNotFOundException.
Ich danke im Vorraus für jede Hilfe.
MfG
MasseElch