Hallo,
ich bin Java Neuling und versuche ein Programm zu schreiben, welches csv.Dateien einliest, was damit macht und wieder eine csv.Datei ausgibt. Dabei sollen zwei csv.Dateien eingelesen werden: eine wird in eine HashMap gespeichert und aus der anderen wird ein Schlüssel der jeweiligen Daten genommen und mit den Datensätzen aus der Map verglichen.
Soweit, so gut, das funktioniert alles, auch das mit dem aufspliten der Dateien und der Berechnung, aber ich habe jetzt ein problem mit der Dateiauswahl. Ich benutzte dazu den JFileChooser zweimal hintereinander, um die Dateien auszuwählen. Das sieht so aus:
Das File Objekt inputE1 und inputE2 will ich dann nachher weiterverwenden...
Und das gleiche an späterer stelle noch mit der zweiten Datei. Da versagt der Compiler, wenn ich beide Dateien durch den FileChooser gewählt habe. Der Debugger sagt, dass an dieser Stelle
ne NullPointer Exception kommt. Also ist irgendwas an der Dateieinlesung falsch...
Aber was?
Schonmal danke im Vorraus!
ich bin Java Neuling und versuche ein Programm zu schreiben, welches csv.Dateien einliest, was damit macht und wieder eine csv.Datei ausgibt. Dabei sollen zwei csv.Dateien eingelesen werden: eine wird in eine HashMap gespeichert und aus der anderen wird ein Schlüssel der jeweiligen Daten genommen und mit den Datensätzen aus der Map verglichen.
Soweit, so gut, das funktioniert alles, auch das mit dem aufspliten der Dateien und der Berechnung, aber ich habe jetzt ein problem mit der Dateiauswahl. Ich benutzte dazu den JFileChooser zweimal hintereinander, um die Dateien auszuwählen. Das sieht so aus:
Java:
public static void main(String[] args)
{
JOptionPane.showMessageDialog(null,
"Verarbeitung von Erzeuger- und Ausfuhrpreisen.",
"Fachabteilung 3",
JOptionPane.INFORMATION_MESSAGE);
File inputE1 = null;
File inputE2 = null;
JOptionPane.showMessageDialog(null,
"Wählen Sie zunächst die erste Datei (E2).",
"Hinweis",
JOptionPane.INFORMATION_MESSAGE);
JFileChooser auswahl1 = new JFileChooser(inputE1);
auswahl1.showDialog(null, ".cvs-Datei wählen");
JOptionPane.showMessageDialog(null,
"Wählen Sie nun die zweite Datei (E2).",
"Hinweis",
JOptionPane.INFORMATION_MESSAGE);
JFileChooser auswahl2 = new JFileChooser(inputE2);
auswahl2.showDialog(null, ".cvs-Datei wählen");
FileReader dateiLeserE1 = null;
BufferedReader bufferedReaderE1 = null;
FileReader dateiLeserE2 = null;
BufferedReader bufferedReaderE2 = null;
....
....
Das File Objekt inputE1 und inputE2 will ich dann nachher weiterverwenden...
Java:
dateiLeserE1 = new FileReader(inputE1); // Objekt "File Reader" für inputE1 wird erzeugt
bufferedReaderE1 = new BufferedReader(dateiLeserE1);
String zeile = bufferedReaderE1.readLine(); // String "zeile" wird erzeugt
zeile = bufferedReaderE1.readLine(); // erste Zeile wird übersprungen -> Header-Zeile
Scanner scanner;
HashMap hashmap = new HashMap(); // Hashmap wird erzeugt, Einlesen der Daten aus E1.csv in Hashmap
String schluesselE1 = null; // String "schluesselE1" wird erzeugt
.....
Und das gleiche an späterer stelle noch mit der zweiten Datei. Da versagt der Compiler, wenn ich beide Dateien durch den FileChooser gewählt habe. Der Debugger sagt, dass an dieser Stelle
Java:
dateiLeserE1 = new FileReader(inputE1);
ne NullPointer Exception kommt. Also ist irgendwas an der Dateieinlesung falsch...
Aber was?
Schonmal danke im Vorraus!