Hallo.
Ich hänge gerade an einem Problem bei dem JFileChooser und einer JTable. Ich gebe in die Tabelle Daten ein wobei eine für Zahlen vorgesehen ist. Danach wird die Datei in einer *.csv Datei gespeichert. Diese soll zu einem anderen Zeitpunkt wieder geladen und ergänzt werden. Hierbei kann es vorkommen, das es zwei gleiche Einträge gibt. Dann soll die Zahl verändert werden.
Soweit klappt das auch alles. Wenn ich die gespeicherte Datei jedoch in Excel verändere werden die Daten in der *.csv Datei in Anführungszeichen gespeichert. Wenn ich nun die Daten lade stehen die Zahlen auch in Anführungszeichen, wodurch ich die Zahlen nicht mehr verarbeiten kann. Das heißt ich müsste aus der *.csv Datei vorher die Anführungszeichen löschen ist dies irgendwie möglich, oder gibt es eine Möglichkeit andere Möglichkeit. Ich poste euch nochmal ein Beispiel meines FileChoosers zum Laden.
Die *.csv Datei sieht nach der Bearbeitung in OpenOffice so aus:
"ab";"cd";"500"
"ef";"gh";"400"
Muss aber so ausehen:
ab;cd;500
ef;gh;400
Danke im voraus.
Ich hänge gerade an einem Problem bei dem JFileChooser und einer JTable. Ich gebe in die Tabelle Daten ein wobei eine für Zahlen vorgesehen ist. Danach wird die Datei in einer *.csv Datei gespeichert. Diese soll zu einem anderen Zeitpunkt wieder geladen und ergänzt werden. Hierbei kann es vorkommen, das es zwei gleiche Einträge gibt. Dann soll die Zahl verändert werden.
Soweit klappt das auch alles. Wenn ich die gespeicherte Datei jedoch in Excel verändere werden die Daten in der *.csv Datei in Anführungszeichen gespeichert. Wenn ich nun die Daten lade stehen die Zahlen auch in Anführungszeichen, wodurch ich die Zahlen nicht mehr verarbeiten kann. Das heißt ich müsste aus der *.csv Datei vorher die Anführungszeichen löschen ist dies irgendwie möglich, oder gibt es eine Möglichkeit andere Möglichkeit. Ich poste euch nochmal ein Beispiel meines FileChoosers zum Laden.
Java:
package Finanzen;
//
// Library Imports
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.*;
@SuppressWarnings("serial")
public class OpenDlg2 implements java.io.Serializable
{
/*Filechooser zum anzeigen des Öffnen Dialogs. Über diese Klasse wird das Öffnen
* der abgespeicherten Datei angezeigt.
*
*/
public OpenDlg2()
{
//
// Blatt 3
//
// Das Dialogfenster als Filechooser definieren
JFileChooser chooser2 = new JFileChooser();
//
// Den Filechooser als Öffnen-Dialogfeld definieren
int state2 = chooser2.showOpenDialog(null);
//
// Die gewählte Datei in den Programmcode übertragen
File file2 = chooser2.getSelectedFile();
//
// Eine Integer Variable für die Spaltenanzahl angeben
int k = 0;
//
// Ein String[] für die Daten angeben und initialisieren
String[] rowData2 = null;
//
// Die Daten aus der Datei ins erste Tab übertragen
try
{
if (Tab3.table.getRowCount() != -1)
{
//
// Gesamte Tabelle Tab3 löschen
for(int w=Tab3.table.getRowCount()-1;w>=0;w--)
{
Tab3.model.removeRow(w);
}
}
try
{
FileReader fr2 = new FileReader(file2);
BufferedReader br2 = new BufferedReader(fr2);
if (file2 != null && state2 == JFileChooser.APPROVE_OPTION)
{
String speicher = null;
while((speicher = br2.readLine()) != null)
{
rowData2 = speicher.split(";");
Tab3.model.addRow(rowData2);
k = k + 1;
}
}
}
catch(NullPointerException npe)
{
}
}
catch (FileNotFoundException e)
{
JOptionPane.showMessageDialog(null, "Error! File not opened!");
}
catch (IOException e)
{
JOptionPane.showMessageDialog(null, "Error! File not opened!");
}
}
}
Die *.csv Datei sieht nach der Bearbeitung in OpenOffice so aus:
"ab";"cd";"500"
"ef";"gh";"400"
Muss aber so ausehen:
ab;cd;500
ef;gh;400
Danke im voraus.