Hallo,
ich habe eine Klasse DateiOperationen, in der der JFileChooser geöffnet wird und dort den Dateipfad einließt. Gleich darunter habe ich eine Methode, die die Datei in einer Array List speichern soll.
Mein Problem ist jetzt, dass ich den Dateipfad aus der Methode oeffen nicht in die Methode readdata bekomme. Freue mich über Vorschläge zur Lösung.
Gruß
Anbei der die Klasse DateiOperationen...
ich habe eine Klasse DateiOperationen, in der der JFileChooser geöffnet wird und dort den Dateipfad einließt. Gleich darunter habe ich eine Methode, die die Datei in einer Array List speichern soll.
Mein Problem ist jetzt, dass ich den Dateipfad aus der Methode oeffen nicht in die Methode readdata bekomme. Freue mich über Vorschläge zur Lösung.
Gruß
Anbei der die Klasse DateiOperationen...
Java:
package view;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import javax.swing.*;
import javax.swing.filechooser.FileFilter;
public class DateiOperationen {
public void oeffnen(){
JFileChooser fc = new JFileChooser();
fc.setDialogTitle("Datei öffnen");
fc.setFileFilter(new FileFilter() {
public boolean accept(File f) {
return f.getName().toLowerCase().endsWith(".csv") || f.isDirectory();
}
public String getDescription() {
return "Comma-Separated Values(*.csv)";
}
});
if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
System.out.println(file.getName());
}
else System.out.println("Keine Auswahl");
System.exit(0);
}
private String zeile;
private ArrayList<String> list = new ArrayList<String>();
private String[] split = null;
public void readData() {
try {
FileReader fileRe = new FileReader("hier Dateipfad einsetzen aus oeffnen()!");
BufferedReader data = new BufferedReader(fileRe);
while ((zeile = data.readLine()) != null) {
split = zeile.split(";");
for(int i=0; i<split.length; i++) {
//leere Zeilen ignorieren
if( !(split[i].equals("")) )
//eventuelle Leerzeichen zwischen zwei ';' entfernen
//und Wert in Liste schreiben
list.add(split[i].trim());
}
}
} catch (FileNotFoundException e) {
System.out.println("Datei nicht gefunden");
} catch (IOException e) {
System.out.println("E/A-Fehler");
}
}
public void printData() {
int max = list.size();
for(int i=0; i<max; i++) {
System.out.println(list.get(i));
}
}
}