Hallo
bin verzweifelt,
bekomme beim Ausführen des Programms immer folgende Fehlermeldung
mein Programm sieht so aus:
würde mich über jede Hilfe freuen.
Und im vorraus schon mal Danke!!!

bin verzweifelt,
bekomme beim Ausführen des Programms immer folgende Fehlermeldung
Java:
java.io.FileNotFoundException: \iris.2.arff (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at java.io.FileReader.<init>(FileReader.java:41)
at weka.classifiers.bayes.net.ADNode.main(Unknown Source)
mein Programm sieht so aus:
Java:
package frontend;
import input.DataDBReader;
import input.DataReader;
import input.DatafileReader;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.filechooser.FileNameExtensionFilter;
import core.ClusterPackage;
public class MainFrame extends JFrame implements ActionListener {
/**
* Das Menue wird erzeugt mit folgenden Eintraegen: Datei mit Oeffnen,
* Speichern, Speichern unter und Beenden Daten Analysieren mit
* Erwartungswert, Varianz, Korrelationswert, Ausfallmechanismen,
* Mustererkennung und Daten visualisieren
*/
private static final long serialVersionUID = 1L;
/**
* The Menu of the tool.
*/
private JMenuBar menubar;
/**
* The size of the screen.
*/
private Dimension screen_size;
/**
* List of ClusterPackages whose information are shown in the frame.
*/
private ClusterPackage data;
private static final String[] header_overview = { "Attribute",
"Expectation", "Variance" };
private JScrollPane scroll_data;
private JScrollPane scroll_correlation;
private JTable data_info;
private JTable table_correlation;
private JDialog dialog;
private JPanel big, panelLeft, panelRight, button;
private JButton open, save, delete, file;
private DBParameterFrame db_parameter;
private static final String str_readFile = "File";
private static final String str_readDB = "Database";
private static final String str_cancel = "Cancel";
private static final String str_open = "Open";
private static final String str_save = "Save";
private static final String str_undo = "Undo";
private static final String str_end = "End";
public MainFrame() {
/*
* init the frame properties
*/
super("Analyse Tool");
screen_size = Toolkit.getDefaultToolkit().getScreenSize();
setSize(screen_size);
setExtendedState(JFrame.MAXIMIZED_BOTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addWindowListener(new WindowClosingAdapter());
Container contentPane = getContentPane();
contentPane.setLayout(null);
/*
* init menu
*/
menubar = new JMenuBar();
menubar.add(createFileMenu());
menubar.add(createDataMenu());
setJMenuBar(menubar);
/*
* ein grosses JPanel wird dem Frame hinzugefuegt
*/
big = new JPanel();
big.setBounds(50, 100, (int) getWidth() - 100, (int) getHeight() - 225);
contentPane.add(big);
/*
* zwei JPanels werden dem JFrame hinzugefuegt
*/
panelLeft = new JPanel();
panelLeft.setBorder(BorderFactory.createLoweredBevelBorder());
panelLeft.setBackground(Color.WHITE);
panelRight = new JPanel();
panelRight.setBorder(BorderFactory.createLoweredBevelBorder());
big.setLayout(new GridLayout(1, 2));
big.add(panelLeft);
big.add(panelRight);
/*
* eine neues JPanel mit drei Buttons wird erstellt
*/
button = new JPanel();
button.setBounds(50, 50, 315, 20);
button.setLayout(new GridLayout(0, 3));
open = new JButton(str_open);
save = new JButton(str_save);
delete = new JButton(str_undo);
open.addActionListener(this);
save.addActionListener(this);
delete.addActionListener(this);
button.add(open);
button.add(save);
button.add(delete);
contentPane.add(button);
setVisible(true);
}
/**
* Erzeugt den Menuepunkt "Datei" mit allen Untermenuepunkten und gibt es
* zurueck.
*
* @return Menuepunkt "Datei" mit allen Untermenuepunkten
*/
private JMenu createFileMenu() {
// ----Menuepunkt Datei anlegen---------------------
JMenu dateiMenu = new JMenu("File");
dateiMenu.setMnemonic('F');
JMenuItem mi;
// Datei-Untermenue hinzufuegen-----------------------
dateiMenu.add(createOpenSubMenu());
// Menueeintrag Speichern anlegen--------------------
mi = new JMenuItem(str_save, 's');
mi.addActionListener(this);
dateiMenu.add(mi);
// Seperator
dateiMenu.addSeparator();
// Menueeintrag Beenden anlegen-----------------------
mi = new JMenuItem(str_end, 'e');
mi.addActionListener(this);
dateiMenu.add(mi);
return dateiMenu;
}
/**
* Erzeugt Menueeintrag "Oeffnen" mit zwei Untermenues "Aus Datei" und "Aus
* Datenbank" und gibt es zurueck.
*
* @return Menueeintrag "Oeffnen" mit zwei Untermenues "Aus Datei" und "Aus
* Datenbank"
*/
private JMenu createOpenSubMenu() {
JMenu oeffnen = new JMenu(str_open);
oeffnen.setMnemonic('O');
JMenuItem ausDatei = new JMenuItem(str_readFile);
oeffnen.add(ausDatei);
ausDatei.addActionListener(this);
JMenuItem ausDB = new JMenuItem(str_readDB);
oeffnen.add(ausDB);
ausDB.addActionListener(this);
return oeffnen;
}
/**
* Menuepunkt "Daten analysieren" mit folgenden Unterpunkten wird erzeugt
* "Erwartungswert", "Varianz", "Korrelationskoeffizient"
* "Mustererkenneung", "Daten visualisieren"
*/
private JMenu createDataMenu() {
// Menuepunkt Daten analysieren erstellen-------------
JMenu data = new JMenu("Daten analysieren");
data.setMnemonic('A');
JMenuItem da;
// Menueeintrag Erwartungswert------------------------
da = new JMenuItem("Erwartungswert");
da.addActionListener(this);
data.add(da);
// Menueeintrag Varianz-------------------------------
da = new JMenuItem("Varianz");
da.addActionListener(this);
data.add(da);
// Menueeintrag Korrelationskoeffizeint-------------------
da = new JMenuItem("Korrelationskoeffizient");
da.addActionListener(this);
data.add(da);
// Seperator
data.addSeparator();
// Menueeintrag Ausfallmechanismen-----------------------
data.add(createDeficitSubMenu());
// Seperator
data.addSeparator();
// Menueeintrag Mustererkennung------------------------
da = new JMenuItem("Mustererkennung");
da.addActionListener(this);
data.add(da);
// Seperator
data.addSeparator();
// Menueeintrag Daten visualisieren-----------------------
da = new JMenuItem("Daten visualisieren");
da.addActionListener(this);
data.add(da);
return data;
}
/**
* Methode um den Menueeintrag "Ausfallmechnismen" mit den
* Untermenüeinträgen "NMAR", "MAR", "MCAR"
*
* @return
*/
private JMenu createDeficitSubMenu() {
JMenu deficit = new JMenu("Ausfallmechanismen");
deficit.setMnemonic('a');
JMenuItem nmar = new JMenuItem("NMAR");
deficit.add(nmar);
nmar.addActionListener(this);
JMenuItem mar = new JMenuItem("MAR");
deficit.add(mar);
mar.addActionListener(this);
JMenuItem mcar = new JMenuItem("MCAR");
deficit.add(mcar);
mcar.addActionListener(this);
return deficit;
}
/**
* Method of ActionListener.
*/
public void actionPerformed(ActionEvent e) {
String aktion = e.getActionCommand();
boolean datenGelesen = false;
File input_file = null;
/*
* Oeffnen einer Datei aus dem Dateienverzeichnis
*/
if (aktion.equals(str_readFile)) {
JFileChooser fc = initJFileChooser();
int returnVal = fc.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
input_file = fc.getSelectedFile();
String dateiEndung = input_file.getName().substring(
input_file.getName().lastIndexOf(".") + 1);
if (dateiEndung.equals(DatafileReader.END_CSV)) {
try {
DatafileReader.readCSV(input_file, true);
datenGelesen = true;
} catch (Exception e1) {
JOptionPane.showMessageDialog(this, e1.getMessage(),
"Input Error", JOptionPane.ERROR_MESSAGE);
return;
}
} else if (dateiEndung.equals(DatafileReader.END_ARFF)) {
try {
DatafileReader.readArff(input_file, true);
datenGelesen = true;
} catch (Exception e1) {
JOptionPane.showMessageDialog(this, e1.getMessage(),
"Input Error", JOptionPane.ERROR_MESSAGE);
return;
}
} else if (dateiEndung.equals(DatafileReader.END_XRFF)) {
try {
DatafileReader.readXarff(input_file, true);
datenGelesen = true;
} catch (Exception e1) {
JOptionPane.showMessageDialog(this, e1.getMessage(),
"Input Error", JOptionPane.ERROR_MESSAGE);
return;
}
}
} else {
System.out.println("Abgebrochen durch den User");
}
if (dialog != null) {
dialog.setVisible(false);
dialog.dispose();
}
}
// Lesen von einer Datenbank
if (aktion.equals(str_readDB)) {
if (dialog != null) {
dialog.setVisible(false);
dialog.dispose();
}
setVisible(false);
db_parameter = new DBParameterFrame(this, true);
}
// Speichern unter der Datei
if (aktion.equals(str_save)) {
JFileChooser fc = initJFileChooser();
int returnVal = fc.showSaveDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
System.out
.println("Die Datei " + fc.getSelectedFile().getName()
+ " wird gespeichert!");
}
}
// Beenden des Programms
if (aktion.equals(str_end)) {
System.out.println(str_end);
boolean exitSystem = true;
if (exitSystem) {
System.exit(0);
}
}
// Button oeffnen
Object quelle = e.getSource();
if (quelle == open) {
JPanel panel = new JPanel();
panel.setSize(120, 100);
panel.setLayout(new GridLayout(3, 1, 10, 10));
file = new JButton(str_readFile);
file.addActionListener(this);
JButton datenbank = new JButton(str_readDB);
datenbank.addActionListener(this);
JButton cancel = new JButton(str_cancel);
cancel.addActionListener(this);
panel.add(file);
panel.add(datenbank);
panel.add(cancel);
dialog = new JDialog(this, "Open", true);
dialog.setSize(panel.getWidth() + 50, panel.getHeight() + 40);
dialog.getContentPane().setLayout(new FlowLayout());
dialog.getContentPane().add(panel);
dialog.setLocationRelativeTo(this);
dialog.setVisible(true);
}
if (aktion.equals(str_undo)) {
removeLoadedData();
}
if (aktion.equals(str_cancel)) {
dialog.setVisible(false);
dialog.dispose();
}
if (aktion.equals("Mustererkennung")) {
System.out.println("Mustererkennung");
}
if (aktion.equals("Erwartungswert")) {
System.out.println("Erwartungswert");
}
if (aktion.equals("Varianz")) {
System.out.println("Varianz");
}
if (aktion.equals("Korrelationskoeffizient")) {
System.out.println("Korrelationskoeffizient");
}
if (aktion.equals("Daten visualisieren")) {
System.out.println("Daten visualisieren");
}
if (aktion.equals("MAR")) {
System.out.println("MAR");
}
if (aktion.equals("NMAR")) {
System.out.println("NMAR");
}
if (aktion.equals("MCAR")) {
System.out.println("MCAR");
}
if (datenGelesen) {
try {
removeLoadedData();
data = new ClusterPackage(DataReader.saveInCluster(input_file
.getName(), new File(DataReader.out_file_full), true));
aktualisiereTabelle();
} catch (Exception e1) {
e1.printStackTrace();
return;
}
}
}
/**
* The data will be loaded of the database.
*/
public void loadDataOfDB(boolean fullData) {
if (db_parameter != null) {
try {
DataDBReader.readDB(DataDBReader.MYSQL, db_parameter.getUrl(),
db_parameter.getUser(), db_parameter.getPassword(),
db_parameter.getTable(), fullData);
} catch (Exception e) {
setVisible(false);
JOptionPane.showMessageDialog(this, e.getMessage(),
"No Connection", JOptionPane.ERROR_MESSAGE);
db_parameter.setVisible(true);
return;
}
try {
data = new ClusterPackage(DataReader.saveInCluster(db_parameter
.getTable(), new File(DataReader.out_file_full), true));
aktualisiereTabelle();
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage(),
"No Connection", JOptionPane.ERROR_MESSAGE);
}
}
}
/**
* Inserts a table with the value of expactation and variance of each
* attribute and the correlation matrix into the left panel of the frame.
*/
private void aktualisiereTabelle() {
/*
* information of the data
*/
// panelLeft.add(new JLabel(data.getFullData().getTableName()));
data_info = new JTable(data.getFullData().getInfos(), header_overview);
scroll_data = new JScrollPane(data_info);
data_info.setFillsViewportHeight(true);
data_info.setEnabled(false);
panelLeft.add(scroll_data);
/*
* correlation matrix
*/
String[] header = new String[data.getFullData().getAttributes().length + 1];
header[0] = "";
System.arraycopy(data.getFullData().getAttributes(), 0, header, 1, data
.getFullData().getAttributes().length);
table_correlation = new JTable(
data.getFullData().getCorrelationTable(), header);
scroll_correlation = new JScrollPane(table_correlation);
table_correlation.setFillsViewportHeight(true);
table_correlation.setEnabled(false);
panelLeft.add(scroll_correlation);
}
/**
* Returns a configured JFileChooser.
*
* @return configured JFileChooser
*/
private JFileChooser initJFileChooser() {
// configuration
JFileChooser fc = new JFileChooser(System.getProperty("user.dir"));
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
fc.setMultiSelectionEnabled(false);
// filter for ending of file name
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"*.csv, *.arff , *.xrff, *.txt", "csv", "txt", "arff", "xrff");
fc.setFileFilter(filter);
return fc;
}
/**
* Deletes the content of the frame.
*/
public void removeLoadedData() {
panelLeft.removeAll();
panelRight.removeAll();
data = null;
scroll_data = null;
scroll_correlation = null;
data_info = null;
table_correlation = null;
if (db_parameter != null) {
db_parameter.dispose();
db_parameter = null;
}
}
public static void main(String[] args) {
System.out.println("hallo");
new MainFrame();
}
}
würde mich über jede Hilfe freuen.
Und im vorraus schon mal Danke!!!